尝试强制WPF功能区始终将功能区选项卡组显示为折叠(直到用户打开它们)

时间:2012-12-06 22:26:25

标签: wpf wpf-controls ribbon

我正在尝试强制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>

1 个答案:

答案 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>