我有一个带有DataGrid的WPF表单。此DG包含一个包含ComboBox的DataGridTemplateColumn。当我单击DG的新行并从Combobox中选择一个值然后选项卡到下一列时,选定的值在组合框列中不会保持可见。
但是,当我回退时,组合框中会显示正确的值。
当我选中列时,如何保持选定的值显示在组合框列中?
这是我的comboxbox列xaml:
<DataGridTemplateColumn Header="Type" Width="160">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding LocationType.Description, Mode=TwoWay}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<ComboBox Name="cboAddrtype"
ItemTemplate="{StaticResource dtAddrType}" IsSynchronizedWithCurrentItem="True"
ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}, AncestorLevel=1}, Path=DataContext.LocationTypesObject, Mode=OneTime}"
SelectedItem="{Binding Path=SelectedLocationType, UpdateSourceTrigger=PropertyChanged, Mode=OneWay}"
SelectedValue="{Binding Path=LocationTypeKey, Mode=TwoWay}"
SelectedValuePath="InternalKey"
Width="100" />
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
答案 0 :(得分:1)
在CellTemplate
{}} {}} {}} {} {{}} {}} {} {{}}我不确定LocationType.Description
的绑定是否会以某种方式影响CellEditingTemplate
。
此外,SelectedLocationType
和LocationTypeKey
不在ComboBox
的上下文中。您应该添加LocationType.Description
绑定属性以获取ViewModel。