在来自Resources的DataGridComboBoxColumn ItemSsource的所有示例中。 难道不能直接绑定到CodeBehind中的列表吗?
答案 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,则可以通过它提供数据。否则,请查看here和here以获取解决方法。