【问题标题】:Silverlight Image LoadingSilverlight 图像加载
【发布时间】:2009-12-27 07:00:01
【问题描述】:

我是刚开始使用 Silverlight 的初学者,有一个非常基本的问题。我想显示一个 .png 图像。我已经在 page.xaml 文件中完成了它,但我想在代码 (C#) 中完成它,以便我可以在我的程序运行时添加和删除图像。我看过一些代码,其中您将图像添加到画布的子项中,但是当我这样做时,不会显示任何图像。有人可以提供一些代码以及放在哪里吗?这是我一直在使用的。没有例外,但没有图像出现。

page.myCanvas.Children.Add(LoadImage("Image/MrBlue"));


public Image LoadImage(string resource)
    {

        Image img = new Image();

        Uri uri = new Uri(resource, UriKind.Relative);

        ImageSource imgSrc = new System.Windows.Media.Imaging.BitmapImage(uri);

        img.SetValue(Image.SourceProperty, imgSrc);

        return img;

    }

图像设置为“资源”和“请勿复制”。

【问题讨论】:

    标签: silverlight image


    【解决方案1】:

    调试 Silverlight 可能会很痛苦,尽管很可能在 VS2008 中进行设置(您可能已经这样做了。如果您不方便询问...)并且可以捕捉到一些“简单”错误,例如您想要的图像的 Uri 错误。您的代码对我来说看起来不错,尽管我使用的代码略有不同。如果您想要一个工作应用程序的示例,我用于加载图像的功能是:

    public void ShowPicture(Uri location)
            {
                Image pic = new Image();
                pic.Source = new BitmapImage(location);
                Grid.SetColumn(pic, 1);
                Grid.SetRow(pic, 1);
                LayoutRoot.Children.Add(pic);
            }
    

    请注意,我有一个包含 System.Windows.Media.Imaging 的 using 语句。

    即使没有完全调试,显示 http 请求的 fiddler 之类的实用程序也可能有助于追踪代码中的错误 Uris,这就是我能想到的在这里可能是错误的。希望对您有所帮助。

    【讨论】:

      【解决方案2】:

      我测试了您的代码,它对我来说运行良好,因此正如 Raumornie 已经暗示的那样,这似乎很可能是图像路径的问题。根据您的代码,图像文件是否位于 Silverlight 项目中名为 Image 的文件夹中,并且仅命名为 MrBlue?快速浏览一下,似乎缺少 .png,或者?

      祝你好运!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多