1

我在后面的代码中找到了很多关于处理 TabItem 标题单击事件的答案,但我需要在视图模型中处理该事件。提前致谢

4

2 回答 2

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
于 2013-02-16T11:35:00.373 回答
1

您可以使用 MVVM light 的EventToCommand方法:

  1. 添加对System.Windows.Interactivity.dll项目的引用。

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

  3. 添加 xml 例如:

    <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/

于 2013-02-16T11:40:13.367 回答