从Silverlight中的不同UserControl加载图像

时间:2009-10-30 16:55:34

标签: silverlight

在Silverlight中加载图片有很多选项,具体取决于你想要做什么,但这个小问题让我有些困惑。希望有人能帮到我!

在Web项目中,在ClientBin目录中,我有一个名为Images的目录,其中包含一个png文件。

在MainPage.xaml文件中,我可以创建一个Image对象,将其称为mainImage,然后在后面的代码中使用它在构造函数中:

BitmapImage src = new BitmapImage(new Uri(“Images / myImage.png”,UriKind.Relative)); mainImage.SetValue(Image.SourceProperty,src);

这一切都运行正常,但是当我创建具有相同功能的UserControl然后在MainPage.xaml上创建该控件的实例时,应用程序运行但我没有得到任何图像。这是为什么?

我还要指出新的用户控件已在Controls文件夹中创建,因此具有不同的命名空间(solutionName.Controls或其他)

任何帮助都会很棒,如果您需要更多信息,请询问(尽量保持简短)

克里斯

1 个答案:

答案 0 :(得分:2)

更改为此图像创建URI的方式:

Uri url = new Uri(Application.Current.Host.Source, "Images/myImage.png");
BitmapImage src = new BitmapImage(url);

这将使用xap作为根uri,然后相对于该url创建url,这样无论当前url是什么,它都将起作用。