ListView.SelectionChanged на RoutedCommand

Я работаю в шаблоне проектирования MVVM с WPF. У меня есть ContextMenu с несколькими элементами на ListView. Основываясь на количестве элементов, выбранных в ListView, я хочу включить/отключить определенные MenuItem. Есть ли способ направить событие SelectionChanged вместе с количеством выбранных элементов в ListView непосредственно в модель представления. Если это так, я могу довольно легко определить свойство зависимости в виртуальной машине для IsEnabled. Я просто пытаюсь избежать кода, чтобы справиться с этим.

Келли


person Flacmonster    schedule 13.10.2009    source источник
comment
Вы имеете в виду просто: listView1.SelectionChanged += .. ? наверное нет..но я не понял..   -  person Letterman    schedule 13.10.2009
comment
Я знаю, как подключить событие с помощью кода. То, что я пытаюсь сделать, это обработать событие с помощью RoutedCommand в ViewModel без какого-либо кода. Спасибо хоть.   -  person Flacmonster    schedule 13.10.2009


Ответы (1)


Вы можете использовать прикрепленное поведение, чтобы перенаправить событие SelectionChanged на вашу виртуальную машину. По сути, вы создаете присоединенное свойство типа bool. Если для этого свойства задано значение true, вы регистрируете обработчик событий для события SelectionChanged целевого меню.

Затем присоединенное свойство может содержать команду для выполнения (с привязкой данных к команде, подобной RelayCommand, на вашей виртуальной машине).

Проверьте эти сообщения для более подробной информации:

person japf    schedule 13.10.2009