为什么到Image.Source的绑定图像路径不能以这种方式工作

时间:2015-05-22 18:55:49

标签: wpf image xaml binding properties

我有一个声明如下的图像路径:

public static string _edit_vector32 = "pack://application:,,,/Resources/Images/Icons/32/edit-vector2-32.png"; 

我尝试添加一个简单的属性,将ImageSource返回给我的ViewModel,如下所示:

public ImageSource ClockImage
{
    get
    { 
        return new BitmapImage(new Uri(RuntimeSettings._clock24)) as ImageSource;
    }
 }

然后在XAML中绑定:

 <Image Source="{Binding ClockImage}"/>

为什么这不起作用,而:

 <Image Source="pack://application:,,,/Resources/Images/Icons/32/edit-vector2-32.png"/>

按预期工作?

1 个答案:

答案 0 :(得分:2)

<Image Source="pack://application:,,,/Resources/Images/Icons/32/edit-vector2-32.png"/>

这是有效的,因为ImageSource附加了一个值转换器(ImageSourceConverter),它会自动将字符串转换为图像源。

第一种情况也应该起作用(在我的测试项目中也是如此)。