WPF: vinculação de dados com DataGridComboBoxColumn
-
29-09-2020 - |
Pergunta
É isso que eu quero:
- Há uma coluna de caixa de combinação vinculada à propriedade ApplicationKey de ClassA
- A caixa de combinação é preenchida com ApplicationTokens de uma função estática all.
- Um ApplicationToken tem uma propriedade ApplicationName e ApplicationKey
- Quando um item é selecionado na lista suspensa, a propriedade ClassA.ApplicationKey é definida como ApplicationToken.ApplicationKey no item selecionado.
Este é meu código atual, que preenche a caixa de combinação, mas não atualiza ClassA.ApplicationKey.
<DataGridComboBoxColumn
Header="Application"
SelectedItemBinding="{Binding ApplicationKey, Converter={gui:DebugConverter}}"
SelectedValuePath="ApplicationKey"
DisplayMemberPath="ApplicationName"
ItemsSource="{Binding Source={x:Static app:ApplicationLookup.GetAllOrNone}}"/>
Solução
Use SelectedValueBinding em vez de SelectedItemBinding ao usar SelectedValuePath.
Exemplo de trabalho
<DataGridComboBoxColumn
Header="Application"
SelectedValueBinding="{Binding ApplicationKey}"
SelectedValuePath="ApplicationKey"
DisplayMemberPath="ApplicationName"
ItemsSource="{Binding Source={x:Static app:ApplicationLookup.GetAllOrNone}}"/>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow