我正在扩展 RibbonGroup 并删除填充/边距,以便它们可以嵌套而不会变得丑陋(只要标题未设置或为空);但是,我很难确定要添加到 GroupSizeDefinitions 中的正确 ControlSizeDefinition 对象,该 GroupSizeDefinitions 我要添加到组中以获取大小信息。
我的方法如下:如果 RibbonGroup 中的 Item 是 RibbonGroup,则添加一个 ControlSizeDefinition,其 Width 设置为我希望控件在调整大小后的宽度。为了确定宽度,我要求控件的所需大小。很好,但我只有一种尺寸。就我所知,最好的方法是设置当前的 GroupSizeDefinition。我该怎么做,或者如果这是错误的方法,那么正确的方法是什么?
编辑:在 VS2012 中使用 C#。
编辑:这是几乎说明问题的代码。尝试使用和不使用组大小定义以查看行为。
<RibbonTab Header="Test">
<RibbonGroup Header="Nestable">
<RibbonGroup.GroupSizeDefinitions>
<RibbonGroupSizeDefinition>
<RibbonControlSizeDefinition ImageSize="Large" IsLabelVisible="True" IsCollapsed="False"/>
<RibbonControlSizeDefinition Width="138"/>
<RibbonControlSizeDefinition Width="148"/>
</RibbonGroupSizeDefinition>
<RibbonGroupSizeDefinition>
<RibbonControlSizeDefinition ImageSize="Small" IsLabelVisible="False" IsCollapsed="False"/>
<RibbonControlSizeDefinition Width="138"/>
<RibbonControlSizeDefinition Width="148"/>
</RibbonGroupSizeDefinition>
<RibbonGroupSizeDefinition>
<RibbonControlSizeDefinition ImageSize="Small" IsLabelVisible="False" IsCollapsed="False"/>
<RibbonControlSizeDefinition Width="78"/>
<RibbonControlSizeDefinition Width="148"/>
</RibbonGroupSizeDefinition>
</RibbonGroup.GroupSizeDefinitions>
<RibbonButton Label="Button" SmallImageSource="16x16.png" LargeImageSource="32x32.png"/>
<RibbonGroup>
<RibbonButton Label="Button" SmallImageSource="16x16.png"/>
<RibbonButton Label="Button" SmallImageSource="16x16.png"/>
<RibbonButton Label="Button" SmallImageSource="16x16.png"/>
<RibbonButton Label="Button" SmallImageSource="16x16.png"/>
</RibbonGroup>
<RibbonGroup>
<RibbonButton Label="Button" SmallImageSource="16x16.png" LargeImageSource="32x32.png"/>
<RibbonButton Label="Button" SmallImageSource="16x16.png" LargeImageSource="32x32.png"/>
<RibbonButton Label="Button" SmallImageSource="16x16.png" LargeImageSource="32x32.png"/>
</RibbonGroup>
</RibbonGroup>
</RibbonTab>