DataGridComboBoxColumn ItemSsource绑定不起作用

时间:2010-09-07 15:15:06

标签: wpf binding

在来自Resources的DataGridComboBoxColumn ItemSsource的所有示例中。 难道不能直接绑定到CodeBehind中的列表吗?

1 个答案:

答案 0 :(得分:5)

这取决于您直接绑定到CodeBehind中的列表的含义。

您可以使用...

声明该列
<DataGridComboBoxColumn x:Name="m_column" ../>

然后在代码隐藏中设置ItemsSource ...

m_column.ItemsSource=yourItemsSource

然而你不能直接在XAML 中使用绑定,例如:

<DataGridComboBoxColumn ItemsSource="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=YourElement}}"/>

因为DataGridComboBoxColumn不是可视树的一部分。

有解决方法。最简单的是使用DataGridTemplateColumn并将ComboBox直接放在edit-DataTemplate中。如果使用ViewModel,则可以通过它提供数据。否则,请查看herehere以获取解决方法。