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の監視可能なコレクションを作成し、それを使用してグリッドをバインドしています。すべてがADDモードで正常に機能しますが、編集モードで、グリッドでコンボボックスの選択した値を設定しようとすると、機能しません。コンボボックスの作成は行われますが、選択されていないままです。selectedEntryModeプロパティが設定されている理由はわかりませんが、グリッドでのコンボ選択には影響しません。任意の提案をいただければ幸いです。ありがとうございます。

4

1 に答える 1

0

SelectedValueは、値を取得するためにのみ使用できます。設定していません。SelectedIteminstedを使用する

于 2012-05-06T00:05:01.633 に答える