<p>I'd like to make some custom MenuHeaders in WPF so I can have (for example), an icon and text in a menu item.</p>

<p>Normally using MenuItems, if you populate the Header field with straight text, you can add an accelerator by using an underscore. eg, _File</p>

<p>However, if I wanted to put in a UserControl, I believe this function would break, how would I do something similar to the following?</p>

<pre><code>&lt;Menu&gt;
&lt;MenuItem&gt;
    &lt;MenuItem.Header&gt;
    &lt;UserControl&gt;
        &lt;Image Source="..." /&gt;
        &lt;Label Text="_Open" /&gt;
    &lt;/UserControl&gt;
    &lt;/MenuItem.Header&gt;
&lt;/MenuItem&gt;
...
</code></pre>

The problem is you placed the image inside of the content of the MenuHeader which means that you'll lose the accelerator key. If you're just trying to have an image in the menu header, do the following.
```
```
<MenuItem Header="_Open">
  <MenuItem.Icon>
    <Image Source="images/Open.png"/>
  </MenuItem.Icon>
</MenuItem>
```
```
If you want to customize the look and feel even further, modify the
controltemplate
and style for the menu. From experience, styling the menus and menuitems are much more difficult then styling the other WPF controls.