Nie można wyczyścić zaznaczenia ListBox za pomocą SelectedItem = null - MVVM
Mam następujący szablon danych (i odpowiedni model widoku, nie pokazany):
<DataTemplate DataType="{x:Type logic:SnapshotListViewModel}">
<ListBox ItemsSource="{Binding Snapshots}" />
</DataTemplate>
ItemsSource jest powiązany z listą migawek, znajdującą się wewnątrz modelu widoku. Moim celem jest wyczyszczenie SelectedItem, aby pole listy powróciło do początkowego, niezaznaczonego stanu. Model widoku implementuje IPropertyNotified.
Dodałem powiązanie w XAML tak:
<ListBox SelectedItem={Binding SelectedSnapshot} .... />
W modelu widoku ustawiam SelectedSnapshot = null, ale nic się nie dzieje, nawet jeśli RaisePropertyChanged zostało wywołane na właściwości.
Próbowałem ponownie z SelectedIndex zamiast SelectedItem. Wciąż nie ma szczęścia.
W końcu znalazłem rozwiązanie, które wyszczególnię poniżej.