【问题标题】:Microsoft WPF Ribbon - Group buttons as drop down buttonsMicrosoft WPF 功能区 - 将按钮分组为下拉按钮
【发布时间】:2011-03-02 19:43:02
【问题描述】:

我在 WPF 浏览器 .NET 应用程序中实现了 Microsoft WPF 功能区。 这是一个非常简单的布局,带有选项卡、组和组中的按钮。然而,有很多组和按钮,用户很难在较小的显示器上使用功能区。一些组将按钮转换为没有用户不喜欢的文本的小图像按钮。他们必须将鼠标悬停在每个按钮上才能看到它的用途。 其他组完全折叠并更改为下拉按钮。这是他们想要的标准。默认情况下,每个组都表示为一个下拉按钮,当单击它时,一个项目列表作为菜单项。

要了解我的目标,您可以简单地减小窗口大小,直到组折叠成带有菜单项的下拉效果。

有人可以帮忙吗?

按钮与选项卡和组一样动态绑定到功能区。

【问题讨论】:

    标签: wpf ribbon


    【解决方案1】:

    RibbonMenuButton 不够用有什么原因吗?

        <r:RibbonMenuButton
            Label="Clicking"
            SmallImageSource=".."
            LargeImageSource="..">
                <r:RibbonMenuItem 
                    Header="Click Me 1"
                    ImageSource=".."/>
                <r:RibbonMenuItem 
                    Header="Click Me 2"
                    ImageSource=".."/>
                <r:RibbonMenuItem 
                    Header="Click Me 3"
                    ImageSource=".."/>
                <r:RibbonMenuItem 
                    Header="Click Me 4"
                    ImageSource=".."/>
        </r:RibbonMenuButton>
    

    【讨论】:

    • 我实际上并不知道您可以在按钮中嵌套按钮。这可能有效。今晚会试一试。
    【解决方案2】:

    我认为您的问题可能不是技术问题,而是概念问题。

    如果您查看Microsoft's guidelines on ribbons,您会发现如果您有太多命令,功能区不一定是最佳选择:

    是否有大量的命令?使用色带是否需要超过七个核心标签?用户是否必须经常更改选项卡才能执行常见任务? 如果是这样,请使用工具栏(不需要更改选项卡)和调色板窗口(可能需要更改选项卡,但一次可以打开多个)可能是更有效的选择。

    也许您应该考虑将命令组拆分到多个选项卡上,将它们按逻辑分组,以便一起发生的操作经常保持在一起,而很少一起发生的操作位于单独的选项卡上。例如,更改页面大小和边距将保持在一起,而更改字体大小将在单独的选项卡上进行。

    您还可以考虑使用仅在特定条件下出现的上下文选项卡,因此只会显示与用户当前正在执行的操作相关的命令。

    【讨论】:

    • 上下文标签可能是个好主意。该系统已经使用了一年多一点,主要由总部(特许经营)使用。他们现在正在向他们的加盟商推广,其中很多人使用 14 英寸的屏幕,这不适用于这种设计。HO 喜欢它的外观,但只是希望组更改为下拉按钮。如果您手动调整浏览器的大小窗口你会得到这个效果。但他们想要它永久。
    【解决方案3】:

    您可以控制哪些按钮在调整大小后显示在RibbonBar 中(内部通过栏)。您可以使用RibbonGroup.GroupSizeDefinitionsRibbonTab.GroupSizeReductionOrder 属性来定义每个RibbonGroup 的显示方式。有关详细信息,请参阅 MSDN 上的 Ribbon Layout and Resizing 页面。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-06
      • 2012-04-22
      • 1970-01-01
      • 1970-01-01
      • 2015-08-06
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      相关资源
      最近更新 更多