2

我有一个 Datagrid 和 DataGridTemplateColumn 这是 ComboBox

<DataTemplate x:Key="ComboBoxPackagingType">
  <ComboBox SelectedItem="{Binding   PackagingType.SelectedItem, Mode=TwoWay}" ItemsSource="{Binding PackagingType.ItemsSource}"/>
</DataTemplate>

...

<DataGridTemplateColumn CellTemplate="{StaticResource ComboBoxPackagingType}"/>

从列表中选择项目后,SelectedItem 永远不会更改值。我在 get 和 set 函数上都设置了断点,它在更改我的 DataGrid 的 ItemSource 后停止在 get 函数上,但在从列表中选择项目后从不在 set 函数上。

为什么?

4

1 回答 1

1

尝试将 UpdateSourceTrigger=PropertyChanged 添加到 ComboBox 所选项目的绑定中,如下所示:

<DataTemplate x:Key="ComboBoxPackagingType">
  <ComboBox SelectedItem="{Binding PackagingType.SelectedItem, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" ItemsSource="{Binding PackagingType.ItemsSource}"/>
</DataTemplate>

这对我有用。

于 2013-02-07T13:07:43.153 回答