在Silverlight中使用图像控制(4)

时间:2010-10-21 14:24:10

标签: silverlight

我正在尝试使用Image控件是一种非常基本的方式,就像这里:

http://www.silverlightshow.net/items/Using-the-Image-control-in-Silverlight-2-Beta-1.aspx

所以我最终会像这样结束XAML:

<Image x:Name="imgSmall" Stretch="Fill" Source="../Img/Small/105.jpg" Margin="10,0,0,0"></Image> 

哪个不行。图像为空白,在设计器中,URI带有下划线,并显示“...不是项目的一部分或其构建操作未设置为'资源”

如果我将源更改为ViewModel上的属性,请设置如下:

new Uri(App.Current.Host.Source, "../Img/Small/105.jpg");

然后它工作正常。我更喜欢使用更简单的语法并直接获取图像。这可能吗?

(图片距离ClientBin一级)

将我的所有网站图片设置为build =资源是不可能的。

谢谢!

2 个答案:

答案 0 :(得分:1)

您必须创建一个转换器,它采用相对图像路径并添加“绝对”部分。您可以将相对Uri作为绑定值或converterParameter传递。

class ImageConverter : IValueConverter
{
    // method convert()
    return new BitmapImage(new Uri(App.Current.Host.Source, ((string)parameter));
    //...
}

答案 1 :(得分:0)

它不起作用,因为图像未添加到您的项目中。 将图像添加到项目中,然后您可以从xaml设置源。