次のソリューションは、MSDN フォーラムに投稿されました。デフォルト (?) テーマで使用されているスタイルを変更する必要があります。
リボン コントロールのソース コードを確認しました (
Web サイトから MicrosoftRibbonForWPFSourceAndSamplesをダウンロードしてください)。リボンのテーマ ファイル ( \MicrosoftRibbonForWPFSourceAndSamples\RibbonControlsLibrary\Themes\Generic.xaml
) では、このスタイル " Ü
" が
RibbonApplicationMenu
. このスタイルでは、Text を表示する要素はなく、画像を表示する Image 要素が 1 つだけあります。
幸いなことに、スタイル コードを変更して、" Ü
" スタイルにいくつかのコントロールを追加することができました。以下のコードを使用してください:
行 7264、コードを変更します。
<!--<Image IsHitTestVisible="False"
Source="{Binding RelativeSource ={RelativeSource FindAncestor, AncestorType ={x:Type ribbon:RibbonApplicationMenu}},
Path=SmallImageSource}" HorizontalAlignment="Center" VerticalAlignment="Center" Width="16" Height="16" RenderOptions.BitmapScalingMode="NearestNeighbor" RenderOptions.EdgeMode="Aliased" />-->
行 7433、要素Label="{TemplateBinding Label}"
の最後にコードを追加します。RibbonToggleButton
......
<ControlTemplate TargetType="{x:Type ribbon:RibbonApplicationMenu}">
<Grid Focusable="False"
x:Name="OuterGrid"
SnapsToDevicePixels="True">
<ribbon:RibbonToggleButton x:Name="PART_ToggleButton"
BorderBrush="{TemplateBinding BorderBrush}"
Background="{TemplateBinding Background}"
BorderThickness="{TemplateBinding BorderThickness}"
Style="{StaticResource Ü}"
FocusVisualStyle="{TemplateBinding FocusVisualStyle}"
Height="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Height}"
Width="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Width}"
ToolTipTitle="{TemplateBinding ToolTipTitle}"
ToolTipDescription="{TemplateBinding ToolTipDescription}"
ToolTipImageSource="{TemplateBinding ToolTipImageSource}"
ToolTipFooterTitle="{TemplateBinding ToolTipFooterTitle}"
ToolTipFooterDescription="{TemplateBinding ToolTipFooterDescription}"
ToolTipFooterImageSource="{TemplateBinding ToolTipFooterImageSource}"
SmallImageSource="{TemplateBinding SmallImageSource}"
IsChecked="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=IsDropDownOpen, Mode=TwoWay}"
Label="{TemplateBinding Label}"/>
行 7564、要素Label="{TemplateBinding Label}"
の最後にコードを追加します。RibbonToggleButton
......
<Canvas>
<ribbon:RibbonToggleButton x:Name="PART_PopupToggleButton"
AutomationProperties.Name="{Binding RelativeSource={RelativeSource TemplatedParent},
Path=(AutomationProperties.Name)}" Canvas.Top="-24" Canvas.Left="3" IsChecked="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=IsDropDownOpen}" BorderBrush="{TemplateBinding BorderBrush}" 背景="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}"
Style="{StaticResource Ü}" Focusable="False" Height="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Height}" Width="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Width}" Label="{TemplateBinding Label}"/> そして、RibbonWindow で、RibbonApplicationMenu の Label プロパティを次のように設定できます。
<ribbon:RibbonApplicationMenu Label="File">
フォーラムの投稿には変更されたソースの ZIP が含まれていましたが、リンクは機能しなくなりました。