WPF菜单项与图像
如何定义MenuItem.Icon,使MenuItemHeader文本放在菜单项图像下方?感谢您的帮助!
简单的方法是不使用Icon属性,而是将图标放在Header中:
<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" />
可以被replace为<TextBlock Text="Reports" />
因为ContentPresenter将用来呈现string。 对于更复杂的Header=
,可以使用ContentPresenter
,如图所示。
这是怎么回事:
<ContextMenu> <MenuItem Header="Reports"> <MenuItem.Icon> <Image Source="/XSoftArt.WPFengine;component/Images/export32x32xp.png"/> </MenuItem.Icon> </MenuItem> </ContextMenu>
在StackPanel的情况下,使用Label而不是TextBlock,因为只有Label会允许你在菜单上有助记符,比如_Reports 。