CollectionViewSource にバインドしたデータグリッドの現在選択されている項目を取得しようとしています。ただし、ViewModel で設定したプロパティに SelectedItem プロパティが正しくバインドされていないように見えます。
<Grid DataContext="{Binding CollectionView}">
<DataGrid ItemsSource="{Binding}" Margin="0,30,0,0" SelectedItem="{Binding SelectedRow}" />
</Grid>
プロジェクトを実行すると、VS2010 の出力ボックスにこのエラー メッセージが表示されます。
System.Windows.Data Error: 40 : BindingExpression path error: 'SelectedRow' property not found on 'object' ''BindingListCollectionView' (HashCode=56718381)'. BindingExpression:Path=SelectedRow; DataItem='BindingListCollectionView' (HashCode=56718381); target element is 'DataGrid' (Name=''); target property is 'SelectedItem' (type 'Object')
データグリッドの SelectedItem プロパティが CollectionViewSource にバインドしようとしていることは理解していますが、SelectedItem を ViewModel の SelectedRow プロパティにバインドするように指示する方法がよくわかりません。どんな助けでも大歓迎です。また、私のセットアップについてさらに情報が必要な場合は、お気軽にお問い合わせください。
必要な場合に備えて、ViewModel のプロパティを次に示します。
public DataRow SelectedRow
{
get
{
return _selectedRow;
}
set
{
_selectedRow = value;
OnPropertyChanged("SelectedRow");
}
}