如何定义MenuItem.Icon以便将MenuItemHeader文本放在菜单项图像下方?感谢您的帮助!
答案 0 :(得分:138)
如何:
<ContextMenu>
<MenuItem Header="Reports">
<MenuItem.Icon>
<Image Source="/XSoftArt.WPFengine;component/Images/export32x32xp.png"/>
</MenuItem.Icon>
</MenuItem>
</ContextMenu>
答案 1 :(得分:49)
简单的方法是不使用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
,如图所示。
答案 2 :(得分:3)
对于 StackPanel ,使用Label而不是 TextBlock ,因为只有 Label 才允许您在菜单上使用助记符,例如 _Reports