以下是数据网格中我的组合框的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类的可观察集合,并使用它来绑定网格。一切都在ADD模式下运行良好,但在编辑模式下,当我尝试在网格中设置组合框的选定值时,它不起作用。组合框的人口发生了,但仍未被选中。不确定为什么selectEntryMode属性被设置,但不影响网格中的组合选择。 任何建议将不胜感激。谢谢。
答案 0 :(得分:0)
SelectedValue 只能用于获取值。没有设定。使用 SelectedItem insted