我在后面的代码中找到了很多关于处理TabItem标题点击事件的答案,但我需要在View Model中处理该事件。 提前致谢
答案 0 :(得分:2)
将属性绑定到选项卡控件SelectedIndex。
您的XAML:
<TabControl x:Name="tabControl" SelectedIndex="{Binding tabControlSelectedIndex}">
您的ViewModel:
Private _tabControlSelectedIndex As Integer
Public Property tabControlSelectedIndex As Integer
Get
Return _tabControlSelectedIndex
End Get
Set(value As Integer)
If _tabControlSelectedIndex <> value Then
_tabControlSelectedIndex = value
OnPropertyChanged("tabControlSelectedIndex")
'
' Whatever you want to handle here
'
End If
End Set
End Property
答案 1 :(得分:1)
您可以使用MVVM light的EventToCommand
方法:
在项目中添加对System.Windows.Interactivity.dll
的引用。
添加xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
添加xaml例如:
<Button>
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseEnter" >
<i:InvokeCommandAction Command="{Binding FooCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
您可以在此处查看代码: http://www.danharman.net/2011/08/05/binding-wpf-events-to-mvvm-viewmodel-commands/