繁体   English   中英

数据网格中自动生成列的 WPF 下拉列表

[英]WPF drop-down list for auto generated column in datagrid

当您单击特定表格列的元素时如何制作下拉列表,您可以在其中 select 为该单元格添加一个元素? 列是自动生成的。

xaml/wpf 中的 Combobox 使用如下:

<ComboBox x:Name="some Name" SelectionChanged="comboboxChanged">
    <ComboBoxItem>The Content of your Combobox</ComboBoxItem>
</Combobox>

ComboBoxItems 本质上是下拉部分。 您可以根据需要添加任意数量。

在您的后端 (c#) 中,您可以在触发“SelectionChanged”事件后立即获得选定的值。 获取所选值的代码可以通过多种方式完成。 例子:

private void comboboxChanged(object sender, SelectionChangedEventArgs e){
    string comboboxvalue = comboboxname.Text;
    //Then set associated textblock or label
    labelname.Content = comboboxvalue;
}

上面的代码是 static。 例如,动态生成这些元素可能看起来像这样。 自动生成时,使用内联 function 事件很容易。

for (int i = 0; i < 10; i++){
    ComboBox comboboxname = new ComboBox();
    comboboxname.SelectionChanged += (ss,ee) { string comboBoxValue = comboboxname.Text; labelname.Content = comboBoxValue;}
}

Labelname 是您要设置的 Label 的名称。 在该循环中,您将需要实现一种方法,为每个框指定一个唯一名称,并在其中获取相关 label 的名称。 你必须自己弄清楚,因为我不知道如何以及究竟是什么生成以及 static 是什么。

您还需要将动态创建的 combobox 添加到您的列表面板或网格或您正在使用的任何内容中。 这像这样工作:

listpanelname.Children.Add(comboboxname);

只需将其添加到“for”循环即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM