WPF:图标消失

7

我有几个图标在Window.Resources中声明。第一次需要显示时它们可以正常显示(例如:单击菜单,菜单项图标有效),但是在显示另一个菜单(例如:上下文菜单)后,原始图标消失并且不会再次出现。就好像最后使用该图标的元素将其保留。

<Window.Resources>
    <Image x:Key="Chart_16"
           Source="pack://application:,,,/Resources/images/chart_16.png" />
    ...
<Window.Resources>

<MenuItem Header="Summary"
          Command="loc:AppCommands.ShowSummary"
          Icon="{StaticResource Chart_16}" />

我尝试将其保存为24位PNG、交错的24位PNG和8位PNG,但仍然出现相同的问题。不仅是一个图标,每个在多个位置使用的图标都会出现这种情况。
1个回答

9
那是因为你的资源是一个“Image”,它是一个“Control”。 “Control”只能有一个父级,所以它在每个“MenuItem”中被动态重新赋予了父级。
你的选择是:
1.不使用“Image”,而是使用“ImageSource”甚至包含图像URI的“string”。
2.使用“x:Shared” XAML属性将资源设置为非共享。这将根据需要创建多个“Image”控件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接