c#wpf datagrid动态单元格类型在一列中 - ComboBox或Text

时间:2015-10-02 11:46:30

标签: c# wpf combobox datagrid

我正在创建一个WPF GUI,其中我有一个包含多个列的数据网格。我想在其中一个列中使单元格类型根据另一个单元格中的选择而变化。单元格需要在Text和ComboBox之间交换。

在下图中可以看到数据网格。我想要功能,当用户检查IsConstant复选框时,他可以输入一个常量数值,否则他会看到一个ComboBox,他可以从中选择他喜欢的选项。复选框列绑定到代码隐藏中的bool值。

Data Grid

但是我不确定如何以及如果可能的话。欢迎任何建议。谢谢。

1 个答案:

答案 0 :(得分:1)

我认为实现目标的唯一方法是使用DataGridTemplateColumn。您可以为此列类型定义自定义模板,其中包含您要提供的每种编辑选项的控件,以及每个控件切换的可见性,具体取决于您具有的条件。

我进行了搜索,并找到This answer来处理这个问题,并提供了一个示例。我认为你可能会制作一个比这个例子中给出的更简单的模板,但想法是一样的。

编辑: Here's an alternate example使用模板选择器(在此处发布内联时间太长)。