0

我有一个充当视图的视图模型的类。该类有一个 ImageSource 类型的公共成员。现在我需要将属性类型更改为 uri(或字符串)。但问题是我找不到从具有 URI 的资源字典访问单个资源的方法。

例如,此刻我正在做这样的事情:

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 获得类似的结果?

4

1 回答 1

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}" />
于 2012-10-24T10:47:29.380 回答