我写了一个转换器,它接受一个字符串并返回一个资源字典,就像一个魅力,但如果我想在2个地方使用相同的资源字典,第一个资源字典将从第一个地方消失,我真的不明白为什么。 (此资源字典是放置在Viewbox中的一些矢量图像。)
你们有什么想法吗?
这是我的转换器:
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value != null)
{
var temp= Application.Current.TryFindResource(value);
if (temp!= null)
{
return temp;
}
}
return null;
}
答案 0 :(得分:0)
因为您的资源是Visual
,这意味着他们只能拥有一个父级,所以如果您在另一个可视树的位置使用相同的实例,它将从之前的位置删除。解决问题的一种方法是针对您的资源设置x:Shared="false"
x:Shared =“false”行为会创建另一个相同的资源实例,而不是返回相同的实例