我正在使用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
}
有谁知道怎么解雇这个事件?
答案 0 :(得分:2)
这比你想象的要简单:Ribbon
类有一个SelectedTabChanged
事件。
每次更改标签时都会触发两次:
System.Windows.Controls.SelectionChangedEventArgs
包含RemovedItems
AddedItems
中的新标签。这两个属性都是object[]
。
只需在属性窗口中查找它或让IntelliSense为您找到它;)
答案 1 :(得分:1)
在Ribbon Object上尝试SelectionChanged事件。