Подтвердить что ты не робот

Как обрабатывать список элементов списка WPF с помощью MVVM

Я пытаюсь выполнить событие с измененным списком в WPF с помощью MVVM. Пожалуйста, дайте мне знать, как сделать это событие выбора.

4b9b3361

Ответ 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/...