我已经定义了这样的东西
<ribbon:RibbonGroup Header="Size at Control Level">
<ribbon:RibbonControlGroup>
<ribbon:RibbonButton SmallImageSource="Images\wizard-icon16.png" LargeImageSource="Images\wizard-icon32.png" Label="Button 1">
<ribbon:RibbonButton.ControlSizeDefinition>
<ribbon:RibbonControlSizeDefinition ImageSize="Large" IsLabelVisible="True"></ribbon:RibbonControlSizeDefinition>
</ribbon:RibbonButton.ControlSizeDefinition>
</ribbon:RibbonButton>
<ribbon:RibbonButton SmallImageSource="Images\wizard-icon16.png" LargeImageSource="Images\wizard-icon32.png" Label="Button 2">
<ribbon:RibbonButton.ControlSizeDefinition>
<ribbon:RibbonControlSizeDefinition ImageSize="Small" IsLabelVisible="True"></ribbon:RibbonControlSizeDefinition>
</ribbon:RibbonButton.ControlSizeDefinition>
</ribbon:RibbonButton>
<ribbon:RibbonButton SmallImageSource="Images\wizard-icon16.png" LargeImageSource="Images\wizard-icon32.png" Label="Button 3"></ribbon:RibbonButton>
<ribbon:RibbonButton SmallImageSource="Images\wizard-icon16.png" LargeImageSource="Images\wizard-icon32.png" Label="Button 4"></ribbon:RibbonButton>
</ribbon:RibbonControlGroup>
</ribbon:RibbonGroup>
Run Code Online (Sandbox Code Playgroud)
但是所有按钮都很大.即使我为所有控件设置了一个带有Small的ControlSizeDefinition属性,它们仍然很大.我究竟做错了什么?
谢谢!
从MSDN:功能区布局和调整大小(大约在页面的一半以小文本):
控制组 -
相关的功能区控件可以在RibbonControlGroup中组合在一起.调整控件组的大小时,会将一个RibbonControlSizeDefinition应用于RibbonControlGroup中的所有控件.RibbonControlGroup位于RibbonGroup中,就像它是一个控件一样.
因此,如果多个RibbonButton是共同的RibbonControlGroup(如您的示例所示),那么它们将始终共享相同的RibbonControlSizeDefinition.在WPF功能区的当前状态下,您将无法指定不同的大小.您需要以不同方式对它们进行分组以实现此类效果.(也许把它们放在一个包裹在边框内的堆叠面板上......但我担心将非色带控件放在色带上有时会破坏色带内置的漂亮功能).
我怀疑你真的不打算将所有四个按钮放在一个控制组中.A RibbonControlGroup旨在"将非常密切相关的按钮粘合在一起",因此在一个按钮结束和下一个按钮开始之间有0个间距.这对于不同尺寸的按钮不起作用.我想你可能只想将你的按钮直接放在功能区组中,因为它应该是告诉用户按钮以某种方式相关的容器.
另外一个注意事项:您可以在RibbonControlGroup上指定一个大小定义,该大小定义将应用于其中的所有四个按钮,如下所示:
<ribbon:RibbonGroup Header="Size at Control Level">
<ribbon:RibbonControlGroup>
<ribbon:RibbonControlGroup.ControlSizeDefinition>
<r:RibbonControlSizeDefinition ImageSize="Small" IsLabelVisible="False" />
</ribbon:RibbonControlGroup.ControlSizeDefinition>
<ribbon:RibbonButton SmallImageSource="Images\wizard-icon16.png" LargeImageSource="Images\wizard-icon32.png" Label="Button 1" />
<ribbon:RibbonButton SmallImageSource="Images\wizard-icon16.png" LargeImageSource="Images\wizard-icon32.png" Label="Button 2" />
<ribbon:RibbonButton SmallImageSource="Images\wizard-icon16.png" LargeImageSource="Images\wizard-icon32.png" Label="Button 3" />
<ribbon:RibbonButton SmallImageSource="Images\wizard-icon16.png" LargeImageSource="Images\wizard-icon32.png" Label="Button 4" />
</ribbon:RibbonControlGroup>
</ribbon:RibbonGroup>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6351 次 |
| 最近记录: |