Невозможно очистить выбор ListBox с помощью SelectedItem = null – MVVM

У меня есть следующий шаблон данных (и соответствующая модель представления, не показана):

   

ItemsSource привязан к списку снимков, найденных внутри viewmodel. Моя цель – очистить SelectedItem, поэтому список возвращается к исходному, невыбранному состоянию. Модель представления реализует IPropertyNotified.

Я добавил привязку в XAML так:

  

В модели представления я устанавливаю SelectedSnapshot = null, но ничего не происходит, хотя RaisePropertyChanged был вызван в свойстве.

Я попробовал снова с SelectedIndex вместо SelectedItem. Еще не повезло.

Я наконец нашел решение, которое я подробно рассмотрю ниже.

    Забудьте SelectedItem и SelectedIndex. Ответ: SelectedValue , а также IsSynchronizedWithCurrentItem = “True”.

      

    Затем, когда я вызываю ResetSelection () в модели представления, SelectedSnapshotValue имеет значение null,

     void ResetSelection() { SelectedSnapshotValue = null; } 

    который обновляет привязку в шаблоне данных, используя свойство bound:

      private SnapshotViewModel selectedSnapshotValue; public SnapshotViewModel SelectedSnapshotValue { get { return selectedSnapshotValue; } set { if (selectedSnapshotValue != value) { selectedSnapshotValue = value; RaisePropertyChanged("SelectedSnapshotValue"); } } } 

    Это единственный способ получить мой список для сброса выбора.