我在WPF浏览器.NET应用程序中实现了Microsoft WPF功能区。 这是一个非常简单的布局,包含组中的选项卡,组和按钮。然而,有很多组和按钮,用户在较小的显示器上使用功能区很困难。一些组将按钮转换为小图像按钮,没有用户不喜欢的文本。他们必须将鼠标悬停在每个按钮上才能看到它的用途。 其他组完全崩溃并更改为下拉按钮。这是他们想要的标准。默认情况下,每个组都表示为一个下拉按钮,当点击它时,项目列表为菜单项。
要了解我的目标,您可以简单地缩小窗口大小,直到群组折叠为菜单项的下拉效果。
有人可以帮忙吗?
按钮与标签和组一样动态绑定到功能区。
答案 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.GroupSizeDefinitions和RibbonTab.GroupSizeReductionOrder属性来定义每个RibbonGroup
的显示方式。有关详细信息,请参阅MSDN上的此Ribbon Layout and Resizing页面。