WPF:使用DataGridComboBoxColumn进行数据绑定

Jon*_*len 5 data-binding wpf binding wpfdatagrid datagridcomboboxcolumn

这就是我要的:

  • 有一个组合框列绑定到ClassA的ApplicationKey属性
  • 组合框使用静态函数all中的ApplicationTokens填充.
  • ApplicationToken具有ApplicationName和ApplicationKey属性
  • 在下拉列表中选择项目时,ClassA.ApplicationKey属性将设置为所选项目上的ApplicationToken.ApplicationKey.

这是我当前的代码,它填充组合框但不更新ClassA.ApplicationKey.

<DataGridComboBoxColumn 
    Header="Application" 
    SelectedItemBinding="{Binding ApplicationKey, Converter={gui:DebugConverter}}" 
    SelectedValuePath="ApplicationKey" 
    DisplayMemberPath="ApplicationName" 
    ItemsSource="{Binding Source={x:Static app:ApplicationLookup.GetAllOrNone}}"/>
Run Code Online (Sandbox Code Playgroud)

Wal*_*mer 7

使用SelectedValuePath时,请使用SelectedValueBinding而不是SelectedItemBinding.

工作实例

<DataGridComboBoxColumn 
    Header="Application" 
    SelectedValueBinding="{Binding ApplicationKey}"
    SelectedValuePath="ApplicationKey" 
    DisplayMemberPath="ApplicationName" 
    ItemsSource="{Binding Source={x:Static app:ApplicationLookup.GetAllOrNone}}"/>
Run Code Online (Sandbox Code Playgroud)