我正在嘗試獲取已綁定到CollectionViewSource的datagrid的當前選定項目。但是,看起來好像SelectedItem屬性沒有正確綁定到我在ViewModel中設置的屬性。DataGrid SelectedItem被綁定到錯誤的DataContext MVVM模式
<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')
據我所知,DataGrid的SelectedItem屬性是試圖綁定到CollectionViewSource,但我不太知道如何告訴的SelectedItem綁定到我的視圖模型的SelectedRow財產。任何幫助,將不勝感激。另外,如果您需要更多關於我的設置的信息,請隨時詢問。
這裏是我的ViewModel財產,以防不時之需:
public DataRow SelectedRow
{
get
{
return _selectedRow;
}
set
{
_selectedRow = value;
OnPropertyChanged("SelectedRow");
}
}