Пункт меню WPF с изображением
Как определить MenuItem.Значок, чтобы текст MenuItemHeader был помещен под изображением пункта меню?Спасибо за помощь!
3 ответов
простой способ-не использовать свойство 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 так как только метка позволит вам иметь мнемонику в меню, как _Reports.