2013-02-16 197 views
1

我发现了很多有关处理后面的代码中的TabItem头单击事件的答案,但我需要在视图模型中处理该事件。 在此先感谢WPF-MVVM:在视图模型中的TabItem头单击事件处理

+0

http://stackoverflow.com/questions/ 5162805 /绑定-A-的ICommand到一个-WPF-的tabcontrol-TabItem的-使用-XAML的MVVM – kenny 2013-02-16 11:32:31

回答

2

将属性绑定到选项卡控件SelectedIndex。

您的XAML:

<TabControl x:Name="tabControl" SelectedIndex="{Binding tabControlSelectedIndex}"> 

您的视图模型:

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

您可以使用MVVM光的EventToCommand做法:

  1. 增加提及System.Windows.Interactivity.dll到您的项目。

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

  3. 添加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/

相关问题