MenuItem.Iconを定義して、MenuItemHeaderテキストがメニュー項目画像の下に配置されるようにするにはどうすればよいですか?
簡単な方法は、Iconプロパティを使用せず、代わりにヘッダーにアイコンを配置することです。
<Menu>
<MenuItem>
<MenuItem.Header>
<StackPanel>
<Image Width="20" Height="20" Source="/XSoftArt.WPFengine;component/Images/export32x32xp.png" />
<ContentPresenter Content="Reports" />
</StackPanel>
</MenuItem.Header>
</MenuItem>
<MenuItem Header="Export" />
<MenuItem Header="New record" />
</Menu>
この単純なケースでは、<ContentPresenter Content="Reports" />
を<TextBlock Text="Reports" />
に置き換えることができます。これは、とにかく文字列を表示するためにContentPresenterが使用するものだからです。より複雑なHeader=
の場合、示されているようにContentPresenter
を使用できます。
どのように何かに沿って:
<ContextMenu>
<MenuItem Header="Reports">
<MenuItem.Icon>
<Image Source="/XSoftArt.WPFengine;component/Images/export32x32xp.png"/>
</MenuItem.Icon>
</MenuItem>
</ContextMenu>
StackPanelの場合は、TextBlockではなくLabelを使用してくださいLabelを使用すると、_ Reportsのようにメニューにニーモニックを表示できます。