0

下面是我在数据网格中的组合框的 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 属性,但不影响网格中的组合选择。任何建议将不胜感激。谢谢。

4

1 回答 1

0

SelectedValue只能用于获取价值。不设置。使用SelectedItem insted

于 2012-05-06T00:05:01.633 回答