Это способ, с помощью которого вы можете получить доступ к измененным событиям в приложении MVVM.
Прежде всего, я говорю вам, что свойство Command работает только в кнопке, теперь мы должны явно
привязка этого свойства в нашем событии Selection Changed, таком как список или комбинированное окно
в вашем файле XMAL
<ListBox Name="MyListBox" ItemsSource="{Binding ListItems}" Height="150" Width="150" Margin="281,32,-31,118">
<Local:Interaction.Triggers>
<Local:EventTrigger EventName="SelectionChanged">
<Local:InvokeCommandAction Command="{Binding MyCommand}" CommandParameter="{Binding ElementName=MyListBox,Path=SelectedItem}"/>
</Local:EventTrigger>
</Local:Interaction.Triggers>
</ListBox>
для этого вам нужно добавить dll Syatem.Windows.Interactivity
Теперь вам нужно добавить ссылки в пространство имен вашего файла xaml, например
xmlns:Local="clr-namespace:System.Windows.Interactivityassembly=System.Windows.Interactivity"
в вашем классе ViewModel вы должны определить свою команду в структуре Con
public ViewModel123()
{
MyCommand = new RelayCommand<string>(TestMethod);
}
Теперь создайте метод TestMethod, который может обрабатывать событие изменения выбора
private void TestMethod(string parameter)
{
MessageBox.Show(parameter);
}
Надеюсь, это поможет тебе.