下面是我在数据网格中的组合框的 XAML 片段。
<data:DataGridTemplateColumn Header="Entry Mode">
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Path=EntryModeCombo,Mode=TwoWay}" DisplayMemberPath="Name" SelectedValuePath="Id" SelectedValue="{Binding Path=selectedEntryMode,Mode=TwoWay}" ></ComboBox>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
Entrymode 是系统中的一个实体,该实体的 Id 和 Name 属性用于设置组合的 DisplayMemberPath 和 SelectedValuePath。
public class A
{
private ObservableCollection<EntryMode> _EntryModeCombo;
public ObservableCollection<EntryMode> EntryModeCombo
{
get { return _EntryModeCombo; }
set
{
_EntryModeCombo = value;
RaisePropertyChanged("EntryModeCombo");
}
}
private string _selectedEntryMode;
public string selectedEntryMode
{
get { return _selectedEntryMode; }
set
{
_selectedEntryMode = value;
RaisePropertyChanged("selectedEntryMode");
}
}
}
在我的 viewModel 中,我正在制作 A 类的可观察集合,并使用它来绑定网格。在添加模式下一切正常,但在编辑模式下,当我尝试在网格中设置组合框的选定值时,它不起作用。组合框的填充发生了,但它仍然未被选中。不确定为什么设置了 selectedEntryMode 属性,但不影响网格中的组合选择。任何建议将不胜感激。谢谢。