我正在尝试编写一个master - detail控件,它由一个master datagrid和detail datagrid组成。我的场景如下 - 我使用了SelectedItem并将其绑定到ModelView中的属性。问题是 - 从未使用ViewModel中的SelectedItem,因此我无法获取在主数据网格中选择哪个项目的信息,并且无法获取所选数据。
代码如下:
<toolkit:DataGrid ItemsSource="{Binding}" RowDetailsVisibilityMode="VisibleWhenSelected" SelectedItem="{Binding SelectedItemHandler, Mode=TwoWay}"></toolkit:DataGrid>
在ViewModel中
private CustomerObjects _selectedItem;
public CustomerObjects SelectedItemHandler {
get { return _selectedItem; }
set
{
OnPropertyChanged("SelectedItem");
}
}
从不使用SelectedItemHandler中的代码。 可能是什么问题呢?我应该使用另一种方法在MVVM中创建master - detail吗?
答案 0 :(得分:1)
您可能会对MVVM Light Toolkit提供的EventToCommand
行为感兴趣,这可以让您使用例如主人LostFocus
(或其他任何其他事件)事件控制。其他方法可能包括使用DataGrid
作为主文件,TextBox
或TextBlock
控件使用详细信息。