DataGridComboBoxColumn ItemSource绑定不起作用

Ere*_*rez 0 wpf binding

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

HCL*_*HCL 5

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

您可以使用...声明列

<DataGridComboBoxColumn x:Name="m_column" ../>
Run Code Online (Sandbox Code Playgroud)

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

m_column.ItemsSource=yourItemsSource
Run Code Online (Sandbox Code Playgroud)

但是,您不能直接在XAML中使用绑定,例如:

<DataGridComboBoxColumn ItemsSource="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=YourElement}}"/>
Run Code Online (Sandbox Code Playgroud)

因为DataGridComboBoxColumn它不是视觉树的一部分.

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