Предоставляет ли Prism (CAL) какой-либо способ привязать команду, например, к событию MouseClick? - PullRequest
0 голосов
/ 13 июля 2009

Я недавно посмотрел на Prism (он же библиотека составных приложений для WPF) и мне очень понравилось, как я могу структурировать свои приложения с его помощью.

Однако есть один недостаток, который я просто не смог решить. Можно ли привязать команду (например, из ViewModel) к событию (например, RightMouseButtonDown) через Prism?

Это было бы ключевым требованием к приложению, которое я пытаюсь создать, и было бы стыдно, если бы я не мог использовать Prism только из-за этой отсутствующей функции.

С уважением, crischu

Ответы [ 2 ]

2 голосов
/ 13 июля 2009

Это не часть Prism, но вы можете определить обработчики ввода на уровне окна в WPF с помощью следующего кода:

<Window.InputBindings>
    <MouseBinding MouseAction="RightClick" Command="RightClickCommand"/>
</Window.InputBindings>

Затем он будет запускать RightClickCommand, определенный в его текущем DataContext (ViewModel для окна), всякий раз, когда RightMouse щелкается в окне, а not захватывается любым другим элементом управления в логическом дереве - событие пузыриется вверх от управления прямо под мышкой.

0 голосов
/ 13 июля 2009

Хотя это не часть Prism, вы можете использовать AttachedBehaviours от Марлона Греча.

...