我想在Microsoft Office中创建一个功能区按钮,它可以重现“文本填充”按钮的行为。它分为两个区域,左侧(红色)将执行默认/最后一个操作,右侧(蓝色)提供附加功能。

我得到的最接近的是使用带有button和menu的splitButton。但在这里,get是一个大按钮,带有文本用于默认操作,并且只有一个小区域带有一个三角形,用于访问下拉菜单。以下是功能区代码和生成的按钮:
<splitButton id="SplitButton1" size="normal" >
<button id="MenuButton1" imageMso="TextFillColorPicker" label="Text Fill" />
<menu id="Menu1" label="Label1" itemSize="normal" showLabel="true">
<button id="MenuButton2" label="Label2" />
</menu>
</splitButton>

出于易用性的原因,我希望将(视觉)焦点保持在下拉部分上,如图所示。你知道该怎么做吗?
发布于 2012-09-14 14:54:37
我认为ControlSize proeprty只有两个选择,要么是常规的,要么是大型的。因此,只需使用常规大小,并添加一个图像到您的分割按钮。
更多详情请参考此接口:
http://msdn.microsoft.com/en-us/library/microsoft.office.tools.ribbon.ribbonsplitbutton.controlsize
使用Ribbon XML的自定义UI示例
<splitButton id="splitButton">
<button id="splitButton__btn" imageMso="AlignLeft" label="SplitButton" onAction="splitButton_Click" />
<menu id="splitButton__mnu">
<button id="btnAlignLeft" imageMso="AlignLeft" onAction="btnAlign_Click" label="Left" />
</menu>
</splitButton> MSDN上的功能区XML
http://msdn.microsoft.com/en-us/library/aa942866.aspx
http://msdn.microsoft.com/en-us/library/gg327872
也许你想试试<MenuSection>标签
<MenuSection
DisplayMode=["Default" | "Small" | "Medium" | "Large" | "Text" | "Menu" | "Menu16" | "Menu32" | "Thin"]
Id="String"
MaxHeight="String"
Scrollable="true"
Sequence="Integer"
Title="String">
[<Controls /> | <Gallery />]
</MenuSection>看起来你可以定义不同类型的显示模式。
http://msdn.microsoft.com/en-us/library/gg334378.aspx
发布于 2012-11-19 17:12:29
我不认为这是可能的做你想要的,由于定制限制…但是您可以尝试定义一个框而不是splitButton:
<box id="BoxSplit" boxStyle="horizontal">
<button id="MenuButton1" imageMso="TextFillColorPicker" />
<menu id="Menu1" label="Text Fill" itemSize="normal" showLabel="true">
<button id="MenuButton2" label="Label2" />
</menu>
</box>这将为您提供以下结果:


如您所见,现在的问题是菜单和按钮没有一起突出显示。我希望这对你是可以接受的。
发布于 2017-02-22 22:54:47
如果您需要在Ribbon中准确地再现原始按钮,则可以使用以下代码:
<control idMso="FontColorPicker" imageMso="FontColorPicker"/>(我到处寻找这个,但我找不到任何信息,所以我想有一天它可能会对某人有用)
https://stackoverflow.com/questions/11261620
复制相似问题