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

发布于 2024-11-07 08:48:31 字数 918 浏览 1 评论 0原文

我正在使用 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           
    }

有人知道如何触发此事件吗?

I am using the Fluent Ribbon and got stuck with this problem. I have added some ribbon tab items and wanted to execute something if the user clicks on them

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

This is a simplified part of the code... however if i click on the General button the click event fires as expected but if i click the ribbon tab item nothing happens. Here are both event handlers

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

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

Does anyone know how to fire this event?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

盛夏已如深秋| 2024-11-14 08:48:31

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

每次更改选项卡时都会触发两次:

  • 第一次 System.Windows.Controls.SelectionChangedEventArgs 包含 RemovedItems 中的旧选项卡,
  • 第二次包含 RemovedItems 中的新选项卡添加项目

这两个属性都是一个object[]

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

It's simpler than you think: the Ribbon class has a SelectedTabChanged event.

It is fired twice every time you change tab:

  • the first time the System.Windows.Controls.SelectionChangedEventArgs contains the old tab in RemovedItems
  • the second time it contains the new tab in AddedItems.

Both those properties are an object[].

Just look for it in the property window or let the IntelliSense find it for you ;)

动听の歌 2024-11-14 08:48:31

尝试在功能区对象上尝试 SelectionChanged 事件。

Try SelectionChanged event on Ribbon Object.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文