这就是我要的:

  • 有一个绑定(bind)到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}}"/>
    

    最佳答案

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

    工作实例

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

    10-06 10:16