Я пытаюсь выполнить событие с измененным списком в WPF с помощью MVVM. Пожалуйста, дайте мне знать, как сделать это событие выбора.
Как обрабатывать список элементов списка WPF с помощью MVVM
Ответ 1
Вы можете сделать это, используя
- Добавить ссылку на
System.Windows.Interactivity
в своем проекте - в XAML add
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
Тогда
<ListBox>
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction Command="{Binding YourCommand}"
CommandParameter="{Binding YourCommandParameter}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</ListBox>
Ответ 2
Вы привязываете свойство SelectedItem
списка к вашему свойству в ViewModel:
<ListBox SelectedItem="{Binding SelectedItem}" ...>
....
</ListBox>
В свойстве всегда будет выбран выбранный элемент из списка. Если вам действительно нужно что-то сделать при изменении выбора, вы можете сделать это в настройщике этого свойства:
public YourItem SelectedItem
{
get { return _selectedItem; }
set
{
if(value == _selectedItem)
return;
_selectedItem = value;
NotifyOfPropertyChange("SelectedItem");
// selection changed - do something special
}
}
Ответ 3
вы можете привязать событие ListBox SelectionChanged к команде в вашей ViewModel.
увидеть этот ответfooobar.com/info/329711/...