Fluent功能区选项卡项目单击事件

时间:2011-05-16 13:59:43

标签: c# wpf .net-4.0 ribbon

我正在使用Fluent Ribbon并且遇到了这个问题。我添加了一些功能区选项卡,并希望在用户点击它们时执行某些操作

<Fluent:RibbonTabItem Name="TabItem" MouseLeftButtonDown="TabItem_MouseLeftButtonDown">
    <Fluent:RibbonGroupBox Header="">
        <Fluent:Button/>
        <Fluent:Button/>
    </Fluent:RibbonGroupBox>
    <Fluent:RibbonGroupBox Header="">
        <Fluent:Button Name="General" Header="General" Click="General_Click" />
    </Fluent:RibbonGroupBox>
</Fluent:RibbonTabItem>

这是代码的简化部分...但是,如果我单击“常规”按钮,则单击事件会按预期触发,但如果单击功能区选项卡项,则不会发生任何事情。这是两个事件处理程序

 private void TabItem_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
        //some code        
    }

 private void General_Click(object sender, RoutedEventArgs e)
    {
        //more code           
    }

有谁知道怎么解雇这个事件?

2 个答案:

答案 0 :(得分:2)

这比你想象的要简单:Ribbon类有一个SelectedTabChanged事件。

每次更改标签时都会触发两次:

  • 第一次System.Windows.Controls.SelectionChangedEventArgs包含RemovedItems
  • 中的旧标签页
  • 第二次包含AddedItems中的新标签。

这两个属性都是object[]

只需在属性窗口中查找它或让IntelliSense为您找到它;)

答案 1 :(得分:1)

在Ribbon Object上尝试SelectionChanged事件。