Преобразуйте RoutedEvent в команду для шаблона MVVM в WPF - PullRequest
2 голосов
/ 09 декабря 2011

Как преобразовать перенаправленное событие Checkbox.checked в команду для шаблона MVVM?

Ссылка-Рассмотрим событие перенаправленного нажатия кнопки. Когда мы назначаем команду для кнопки, событие button.click считается командой. Он выполняет соответствующую команду.

Я погуглил, я нашел решение с EventBehaviourFactory. Возможно ли это без использования EventBehaiourFactory?

1 Ответ

8 голосов
/ 09 декабря 2011

Это общее требование в WPF.Наиболее широко используемым решением является использование Interactivity из Blend SDK :

Добавить это пространство имен xmlns в xaml:

xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"

Тогда вы можете сделать:1009 *

<CheckBox>
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="Checked">
            <i:InvokeCommandAction Command="{Binding MyCommand}" />
        </i:EventTrigger>
    </i:Interaction.Triggers>
</CheckBox>

Конечно, вам нужно добавить System.Windows.Interactivity.dll в ваш проект, расположенный (по крайней мере для меня) по адресу: C:\Program Files (x86)\Microsoft SDKs\Expression\Blend 3\Interactivity\Libraries\WPF\System.Windows.Interactivity.dll

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...