Я пытаюсь работать с сеткой данных, используя шаблон MVVM. Проблема в том, что всякий раз, когда я меняю свойство виртуальной машины, привязанное к SelectedItem, к null, View не отменяет выбор текущего выбранного элемента. Это моя привязка в xaml:
<DataGrid Grid.Column="0" Grid.Row="0"
ItemsSource="{Binding Path=Users}"
AutoGenerateColumns="False"
CanUserAddRows="False"
IsReadOnly="True"
SelectedItem="{Binding Path=SelectedUser, Mode=TwoWay}">
Привязка SelectedItem работает от представления к виртуальной машине, поэтому в свойстве SelectedUser у меня всегда есть выбранный объект. Проблема в том, что в виртуальной машине я делаю некоторые вещи, которые иногда меняют свойство SelectedUser на null, поэтому я ожидаю, что datagrid также отменит выбор строки. Вместо этого он остается выбранным, и если я попытаюсь щелкнуть ту же строку, свойство не обновится. Если я нажму на любую другую строку, свойство изменится, как ожидалось.
Есть ли способ отменить выбор сетки данных, если для ее свойства установлено значение null? Также я ищу решение MVVM, так как не хочу писать код. Я могу решить эту проблему, написав код, так что не тратьте время на предложения таких решений :)
l.e .: это моя собственность в ВМ:
public RPLUser SelectedUser
{
get
{
return selectedUser;
}
set
{
selectedUser = value;
OnPropertyChanged("SelectedUser");
}
}
Заранее спасибо!