我正在尝试使用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 =资源是不可能的。
谢谢!
答案 0 :(得分:1)
您必须创建一个转换器,它采用相对图像路径并添加“绝对”部分。您可以将相对Uri作为绑定值或converterParameter传递。
class ImageConverter : IValueConverter
{
// method convert()
return new BitmapImage(new Uri(App.Current.Host.Source, ((string)parameter));
//...
}
答案 1 :(得分:0)
它不起作用,因为图像未添加到您的项目中。 将图像添加到项目中,然后您可以从xaml设置源。