我正在尝试使用MVVM模式来处理数据网格。问题在于,每当我更改绑定到SelectedItem的VM属性为null时,视图不会“取消选择”当前选定的项。这是我的XAML绑定:
<DataGrid Grid.Column="0" Grid.Row="0"
ItemsSource="{Binding Path=Users}"
AutoGenerateColumns="False"
CanUserAddRows="False"
IsReadOnly="True"
SelectedItem="{Binding Path=SelectedUser, Mode=TwoWay}">
所选项绑定是从视图到VM的,因此在SelectedUser属性中我始终拥有所选对象。问题在于,在VM中我正在做一些事情,有时会将SelectedUser属性更改为null,因此我希望数据网格也能取消选择行。然而,它仍保持选中状态,如果我尝试单击相同的行,则属性不会更新。如果单击其他任何行,则属性会按预期更改。
有没有办法让数据网格在绑定的属性设置为null时取消选择?同时,我正在寻找一个MVVM解决方案,因为我不想编写代码后端。我可以通过编写代码后端来解决此问题,因此不要浪费时间提供此类解决方案:)
附:这是我的VM中的属性:
public RPLUser SelectedUser
{
get
{
return selectedUser;
}
set
{
selectedUser = value;
OnPropertyChanged("SelectedUser");
}
}
感谢提前帮忙!