如何在Silverlight中显示图像?

时间:2009-12-10 16:31:10

标签: silverlight image silverlight-3.0

这应该很简单,但是......

我在我的解决方案中创建了一个名为Images的文件夹。我将图片拖入其中。我现在如何在页面或视图上显示此图像?

2 个答案:

答案 0 :(得分:2)

确保将图像设置为资源。它可以位于解决方案中任何项目的任何文件夹中。

然后您可以将其引用为 [assembly]; component / [path] / [imagename.extension]

例如:

<Image Source="/mynamespace.myassembly;component/ResourcesFolder/image.png" Width="16" Height="16" />

答案 1 :(得分:1)

有几种方法可以解决这个问题 - 这是涉及在Visual Studio文件属性中将图像设置为Resource的方式:

using (var stream = Application.GetResourceStream(
    new Uri("SilverlightAssemblyName;component/Images/myImage.png", 
            UriKind.Relative)))
{
    // read from stream
}

SilverlightAssemblyName替换为您在Silverlight项目的Silverlight选项卡中指定的程序集名称。

如果您想在代码中使用图片:

var bitmap = new BitmapImage();
bitmap.SetSource(stream);
myImageControl.ImageSource = bitmap;

或者,如果您想在XAML中使用该资源,则不需要任何代码:

<Image Source="/Images/myImage.png" Width="16" Height="16" />