Как поддерживать привязку ListBox SelectedItems с MVVM в навигационном приложении

Я делаю приложение WPF, в котором можно перемещаться с помощью пользовательского & quot; Далее & quot; и & quot; Назад & quot; кнопки и команды (т.е. не используяNavigationWindow). На одном экране у меня естьListBox который должен поддерживать несколько выборов (используяExtended Режим). У меня есть модель представления для этого экрана и я храню выбранные элементы как свойство, так как они должны поддерживаться.

Тем не менее, я знаю, чтоSelectedItems свойствоListBox только для чтения. Я пытался обойти проблему, используяэто решение здесь, но я не смог принять его в свою реализацию. Я обнаружил, что не могу различить, когда один или несколько элементов отменены, и когда я перемещаюсь между экранами (NotifyCollectionChangedAction.Remove поднимается в обоих случаях, поскольку технически все выбранные элементы отменяются при удалении от экрана). Мои навигационные команды расположены в отдельной модели представления, которая управляет моделями представления для каждого экрана, поэтому я не могу поставить любую реализацию, связанную с моделью представления, с помощьюListBox там.

Я нашел несколько других менее изящных решений, но ни одно из них, по-видимому, не обеспечивает двустороннюю связь между моделью представления и представлением.

Любая помощь будет принята с благодарностью. Я могу предоставить часть моего исходного кода, если это поможет понять мою проблему.

Ответы на вопрос(9)

Ваш ответ на вопрос