Привязать ICommand к WPF tabcontrol / tabitem, используя XAML (MVVM) - PullRequest
3 голосов
/ 02 марта 2011

У меня есть приложение WPF 3.5, созданное с использованием шаблона MVVM. У меня есть tabcontrol, и я хочу выполнить ICommand для модели представления, когда пользователь нажимает на определенную вкладку (в моем случае вкладка «Предварительный просмотр»). Как мне подключить мою ICommand к tabitem или tabcontrol, используя только XAML? Я использую MVVM, поэтому я не хочу использовать события и получать грязный, грязный код в коде позади.

Я думаю, что мне здесь не хватает чего-то простого! Спасибо, P

Ответы [ 2 ]

1 голос
/ 02 марта 2011

Пожалуйста, обратитесь к этой статье: подключение команд к событиям

Или вы можете использовать этот подход

1 голос
/ 02 марта 2011

Вы должны использовать InvokeCommandAction, выглядит следующим образом:

        <TabItem Header="TabItem">
            <i:Interaction.Triggers>
                <i:EventTrigger EventName="MouseLeftButtonDown">
                    <i:InvokeCommandAction Command="SomeCommand"/>
                </i:EventTrigger>
            </i:Interaction.Triggers>
            <Grid />
        </TabItem>

Не забудьте включить xmlns в начало:

xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"

и, конечно, ссылаться на System.Windows.Interactivity (новыйв WPF4)

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