XamDataGridでViewModelのプロパティとバインドさせて特定の行を選択させたい場合は、
- ViewModel側にobject配列型のプロパティを用意する。
- 1で用意したプロパティの値として、選択させたいデータ項目を追加する。
- XamDataGridのSelectedDataItemsを1で用意したプロパティとバインドする。
- XamDataGridのSelectedDataItemsScopeをRecordsOnlyにする。
で実現可能です。
// ViewModel側 internal class MainWindowViewModel : ObservableObject { ... // 1. ViewModel側にobject配列型のプロパティを用意する。 private object[] _selectedPeople; public object[] SelectedPeople { get { return _selectedPeople; } set { _selectedPeople = value; OnPropertyChanged(); } } public MainWindowViewModel() { ... // 2. 1で用意したプロパティの値として、選択させたいデータ項目を追加する。 // _peopleはXamDataGridに表示するデータソース SelectedPeople = new object[] { _people[0], _people[2], _people[5] }; } }
<!-- View側 --> <!-- 3. XamDataGridのSelectedDataItemsを1で用意したプロパティとバインドする。 4. XamDataGridのSelectedDataItemsScopeをRecordsOnlyにする。 --> <igDP:XamDataGrid ... SelectedDataItems="{Binding SelectedPeople, Mode=TwoWay}" SelectedDataItemsScope="RecordsOnly"> ... </igDP:XamDataGrid>
実行結果
サンプル
ヘルプドキュメント、APIリファレンス
- 「選択されたデータ項目での作業 (xamDataGrid)」
- 「SelectedDataItems プロパティ」
- 「SelectedDataItemsScope プロパティ」