【发布时间】:2019-08-15 06:27:23
【问题描述】:
我有一个 WPF DataGrid。在一个专栏中,我目前显示了一个ComboBox,其值为enum。代码如下所示:
<DataGridTemplateColumn Header="Solution">
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox ItemsSource="{utils:Enumerate {x:Type EnumSolution}}" SelectedItem="{Binding Solution, Converter={StaticResource EnumToStringConverter}, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{utils:Enumerate {x:Type EnumSolution}}" SelectedItem="{Binding Solution, Converter={StaticResource EnumToStringConverter}, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
但我不想为所有行显示 ComboBox。我只想为特定行显示它,而只为其他行显示一个文本。有没有可能是这样的:
【问题讨论】:
-
使用
CellTemplateSelector -
看起来很有希望。我会测试一下。谢谢