我有一个类作为视图的视图模型。该类有一个ImageSource类型的公共成员。现在我需要的是将属性类型更改为uri(或字符串)。 但问题是我找不到从具有URI的资源代理中访问单个资源的方法。
e.g。此刻我正在做这样的事情:
VectorResourcesDictionary = new ResourceDictionary();
Uri uri = new Uri("pack://application:,,,/assembly;component/IconResources.xaml", UriKind.Absolute);
VectorResourcesDictionary.Source = uri;
object rawResource = VectorResourcesDictionary["VectorIcon.LeftArrowIcon"];
return pickerSymbol = rawResource as ImageSource;
现在我如何使用URI而不是ImageSource获得类似的结果?
答案 0 :(得分:0)
这很简单,只需将属性类型从ImageSource更改为Uri:
public Uri PickerSymbol // i just guess the property name
{
get
{
// get resource as string instead of ImageSource
...
string uri = rawResource as string
return new Uri(uri);
}
}
在您的视图中保持对PickerSymbol属性的绑定,Uri将自动转换为ImageSource。
<Image Source="{Binding PickerSymbol}" />