我正在尝试强制WPF功能区始终将功能区选项卡组显示为折叠(直到用户打开它们)。 我使用collapesed组的组大小定义定义了一个定义功能区组大小定义的资源。然后我使用该静态资源为RibbonGroup设置样式的GroupSizeDefinitions属性。但是,我确实看到一些群体没有处于崩溃状态。我想念我的xaml中的某些内容吗?:
<ribbon:RibbonGroupSizeDefinitionBaseCollection x:Key="groupSizeDefinitions">
<ribbon:RibbonGroupSizeDefinition IsCollapsed="True"/>
</ribbon:RibbonGroupSizeDefinitionBaseCollection>
<ItemsPanelTemplate x:Key="groupItemsPanelTemplate">
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
<Style TargetType="{x:Type ribbon:RibbonGroup}" BasedOn="{StaticResource RibbonControlStyle}">
<Setter Property="QuickAccessToolBarId" Value="{Binding Label}" />
<Setter Property="Header" Value="{Binding Label}" />
<Setter Property="ItemsSource" Value="{Binding ControlDataCollection}" />
<Setter Property="ribbon:RibbonTwoLineText.Foreground" Value="Black" />
<Setter Property="ItemsPanel" Value="{StaticResource groupItemsPanelTemplate}"/>
<Setter Property="GroupSizeDefinitions" Value="{StaticResource groupSizeDefinitions}"/>
</Style>
答案 0 :(得分:1)
你是否尝试过不使用Style?或者使用其他布局面板,例如DockPanel而不是ItemsPanelTemplate中的StackPanel?
我能够通过这样做来保持功能区组崩溃:
<ribbon:RibbonGroupSizeDefinitionBaseCollection x:Key="MyLayout">
<ribbon:RibbonGroupSizeDefinition IsCollapsed="True" />
</ribbon:RibbonGroupSizeDefinitionBaseCollection>
<ribbon:RibbonGroup GroupSizeDefinitions="{StaticResource MyLayout}" >
<ribbon:RibbonButton Command="{x:Static Commands.EditItem}" Label="Edit" />
<ribbon:RibbonButton Command="{x:Static MyCommands.DeleteItem}" Label="Delete" />
</ribbon:RibbonGroup>