1

WPF リボンにリボン タブ グループを常に折りたたんで表示するように強制しようとしています (ユーザーがそれらを開くまで)。折りたたまれたグループのグループ サイズ定義を使用して、リボン グループ サイズの定義を定義するリソースを定義しました。次に、その静的リソースを使用して、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>
4

1 に答える 1

1

Styleを使わずにやってみましたか?または、ItemsPanelTemplate の StackPanel の代わりに DockPanel など、他のレイアウト パネルを使用しますか?

これを行うことで、リボン グループを折りたたんだままにすることができました。

<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>
于 2012-12-07T14:08:53.403 に答える