Comment définir MenuItem.Icon pour que le texte MenuItemHeader soit placé sous l'image de l'élément de menu? Merci de votre aide!
Le moyen le plus simple est de ne pas utiliser la propriété Icon mais de placer l'icône à la place dans l'en-tête:
<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>
Pour ce cas simple, le <ContentPresenter Content="Reports" />
peut être remplacé par un <TextBlock Text="Reports" />
car c'est ce que ContentPresenter utiliserait de toute façon pour présenter la chaîne. Pour plus de complexité Header=
, vous pouvez utiliser le ContentPresenter
comme indiqué.
Comment quelque chose dans le sens de:
<ContextMenu>
<MenuItem Header="Reports">
<MenuItem.Icon>
<Image Source="/XSoftArt.WPFengine;component/Images/export32x32xp.png"/>
</MenuItem.Icon>
</MenuItem>
</ContextMenu>
Dans le cas de StackPanel utilisez Label et non pas TextBlock puisque seul Label vous permettra d'avoir les mnémoniques dans le menu, comme _Reports.