У меня есть приложение WPF, в котором содержимое ListBox обновляется, когда пользователь нажимает кнопку.Первоначальной проблемой была переориентация ListBox на конкретное значение SelectedIndex, которое привязано к свойству ActiveItem в моей ViewModel.Мне удалось решить эту проблему с помощью следующего кода:
XAML:
<ListBox ItemsSource="{Binding ListOfItems}" SelectedIndex="{Binding ActiveItem, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
IsSynchronizedWithCurrentItem="True" SelectionChanged="ListBox_SelectionChanged" x:Name="ListBoxSelector">
Кодовый код:
private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
ListBoxSelector.ScrollIntoView(ListBoxSelector.SelectedItem);
}
Однако в настоящее время у меня есть вышеуказанный код- в файле MainWindow.xaml.cs вместо моего ViewModel.У меня вопрос, как мне переместить этот код в ViewModel, чтобы я мог придерживаться шаблона MVVM?Я не могу понять, как правильно обращаться к свойству ScrollIntoView ListBox из ViewModel.