我有一个数据网格,我希望用户能够编辑其中一列中的值。但是,根据另一列中的值,我需要让它们在文本框中输入值(其他列值= 0)或从组合框中选择一个值(其他列值> 00),我将从字典中填充。
我该怎么做?
答案 0 :(得分:1)
您可以为DataGrid定义TemplateColumn并定义其CellTemplate,如下所示:
<DataGrid>
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ContentControl x:Name="ContentPlaceholder">
<ContentControl.Style>
<Style TargetType="{x:Type ContentControl}">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<ComboBox />
</DataTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding COLUMNTWOPROPERTY}" Value="0">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<TextBox Text="{Binding PROPERTYFORTEXTBOX}"/>
</DataTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</ContentControl.Style>
</ContentControl>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
此处COLUMNTWOPROPERTY是决定单元格是否应显示文本框或组合框的值。
由于