URI和xaml中的资源

时间:2012-10-24 10:13:43

标签: wpf xaml resources uri imagesource

我有一个类作为视图的视图模型。该类有一个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获得类似的结果?

1 个答案:

答案 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}" />