I have started to move various common Image
s into a ResourceDictionary
and noticed an odd behavior in my WPF application. If the Image
is used in a MenuItem
and in a Button
on a ToolBar
, when I open the Menu
the image disappears on the Button
.
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Image x:Key="NewImage"
Source="/SomeApplication;component/Resources/NewDocumentHS.png"
Stretch="None"/>
<!-- ... -->
Relevant XAML from the Window
:
<Menu>
<MenuItem Header="_File">
<MenuItem Header="_New"
Command="{Binding NewCommand}"
Icon="{DynamicResource NewImage}" />
<!-- ... -->
<ToolBarTray>
<ToolBar>
<Button Command="{Binding NewCommand}"
Content="{DynamicResource NewImage}" />
I assume this is a caveat of resources in a ResourceDictionary
, but I am unable to discover the appropriate fix for this. Behavior occurs with both StaticResource
and DynamicResource
. It also doesn't appear to be affected by if the ResourceDictionary
stands on its own or if it is merged with others. No other resource shares that key either.
Edit: Additionally, adding PresentationOptions:Freeze="True"
to the images did not change the situation.