Microsoft WPF功能区 - 将按钮组作为下拉按钮

时间:2011-03-02 19:43:02

标签: wpf ribbon

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

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

有人可以帮忙吗?

按钮与标签和组一样动态绑定到功能区。

3 个答案:

答案 0 :(得分:4)

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>

答案 1 :(得分:2)

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

如果您查看Microsoft's guidelines on ribbons,您会注意到如果您有太多命令,色带不一定是最佳选择:

  

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

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

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

答案 2 :(得分:0)

我意识到这对于@Michael Smit来说可能为时已晚,但它可能对其他人有所帮助。您可以控制调整大小时RibbonBar中显示的按钮(按条形图在内部)。您可以使用RibbonGroup.GroupSizeDefinitionsRibbonTab.GroupSizeReductionOrder属性来定义每个RibbonGroup的显示方式。有关详细信息,请参阅MSDN上的此Ribbon Layout and Resizing页面。