WPF:使用DataGridComboBoxColumn进行数据绑定

5
这是我想要的:
  • 有一个下拉列表框列与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}}"/>
1个回答

7

在使用SelectedValuePath时,请使用SelectedValueBinding而不是SelectedItemBinding。

工作示例

<DataGridComboBoxColumn 
    Header="Application" 
    SelectedValueBinding="{Binding ApplicationKey}"
    SelectedValuePath="ApplicationKey" 
    DisplayMemberPath="ApplicationName" 
    ItemsSource="{Binding Source={x:Static app:ApplicationLookup.GetAllOrNone}}"/>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接