我在DataGrid中有DataGridComboBoxColumn和一个WPF窗口。我分配的DataContext到窗口,如下所示:如何将DataTable绑定到DataGridComboBoxColumn
cls = new MyClass
{
selValue = 2,
DataGrid = dtGrid,
ComboGrid = dtCombo
};
this.DataContext = cls;
以下是XAML为DataGridComboBoxColumn:
<DataGridComboBoxColumn Header="Item Name" SelectedValueBinding="{Binding Path=Item_Id}" SelectedValuePath="ItemId" DisplayMemberPath="ItemName">
<DataGridComboBoxColumn.ElementStyle>
<Style TargetType="ComboBox">
<!-- modified this code as per suggestion ///-->
<Setter Property="ItemsSource" Value="{Binding RelativeSource={RelativeSource AncestorType=Window}, Path=DataContext.ComboGrid }" />
</Style>
</DataGridComboBoxColumn.ElementStyle>
<DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="ComboBox">
<Setter Property="ItemsSource" Value="{Binding RelativeSource={RelativeSource AncestorType=Window}, Path=DataContext.ComboGrid }" />
</Style>
</DataGridComboBoxColu
mn.EditingElementStyle>
电网还是组合框显示空白。 Combobox中没有列出数据。然后,我在Windows代码隐藏中编写了以下代码,它开始工作。
((DataGridComboBoxColumn)this.testGrid.Columns[1]).ItemsSource = cls.ComboGrid.DefaultView;
反正是有使用处理MVVM这种情况下,XMAL本身?我不愿意使用这个应用程序。
但是,这种方法并不适合我。相反,它为我提供了解决上述问题的线索。我修改了我原来的帖子来应用这个结果。它对我来说非常合适。谢谢 – Nps