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 プロパティ」