我有几个在Window.Resources中声明的图标.它们在第一次出现时显示正常(例如:单击菜单,MenuItem图标有效),但在显示另一个菜单(例如:上下文菜单)后,原始图标消失且不返回.好像第一次使用该图标的最后一个元素就是保留它.
...
我已经尝试将其保存为24位PNG,隔行扫描24位PNG和8位PNG,但同样的事情发生了.它不仅仅是一个,在不止一个地方使用的每个图标都是这样的.
那是因为你的资源是一个Image
,这是一个Control
.Control
s只能有一个父母,因此它可以MenuItem
在飞行中有效地重新制作父母.
你的选择是:
不要使用Image
,而是使用ImageSource
甚至string
包含图像的URI.
将资源设置为与x:Shared
XAML属性不共享.这将Image
根据需要创建多个控件.