您好,我使用的是WPF DataGrid,我正在尝试让ComboBox列正常工作。
<tk:DataGridComboBoxColumn Header="GroupLevel"
DisplayMemberPath="Type"
SelectedItemBinding="{Binding Path=GroupLevel}"
>
<tk:DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="ComboBox">
<Setter Property="ItemsSource" Value="{Binding Path=GroupLevel.Group.GroupLevels}" />
</Style>
</tk:DataGridComboBoxColumn.EditingElementStyle>
</tk:DataGridComboBoxColumn>当我查看网格时,列是空白的,就像它没有使用显示成员路径一样。但是,一旦我在列中单击,组合框就会出现,显示我的ItemsSource中的所有项,并选择适当的项,因此我知道绑定都工作正常,甚至DisplayMemberPath也是如此。只是当我不编辑单元格时,它才会显示为空白。
我错过了什么地方的房产吗?
谢谢,劳尔
发布于 2009-12-15 08:42:36
我非常确定这是因为当您不在编辑模式时,您的列没有项目源,并且ComboBox不能有没有项目源的所选项目。一旦你进入编辑模式,你的专栏就会得到它的项目源代码,一切都很酷。您可以通过指定项目源来修复此问题,如下所示:
<tk:DataGridComboBoxColumn.ElementStyle>
<Style TargetType="ComboBox">
<Setter Property="ItemsSource" Value="{Binding Path=GroupLevel.Group.GroupLevels}" />
</Style>
</tk:DataGridComboBoxColumn.ElementStyle>则编辑元素和(非编辑)元素都具有相同的ItemsSource
https://stackoverflow.com/questions/1903057
复制相似问题