我有一个使用MVVM模式构建的WPF 3.5应用程序。我有一个tabcontrol,当用户点击某个标签时(我的情况是“预览”标签),我想在视图模型上执行ICommand。 如何仅使用XAML将我的ICommand连接到tabitem或tabcontrol?我正在使用MVVM所以我不想使用事件并在代码隐藏中获得肮脏,脏代码。
我想我在这里错过了一些简单的东西! 感谢,P
答案 0 :(得分:1)
您应该使用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中的新内容)
答案 1 :(得分:1)
请参阅此文章:hooking up commands to events
或者您可以使用此approach