在带有ComboBox的DataGridTemplateColumn中,SelectedItem为null

时间:2013-02-07 12:09:00

标签: wpf datagrid datagridtemplatecolumn

我有一个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函数上,但是从列表中选择Item后从不在set函数上停止。

为什么?

1 个答案:

答案 0 :(得分:1)

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

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

这对我有用。