在GridView win 8 metro风格上显示图像?

时间:2013-04-10 10:16:54

标签: windows-8

我按照本文(http://mikaelkoskinen.net/winrt-step-by-step-tutorial-mvvm-gridview-semanticzoom/)一步一步地将图像添加到我的项目的GridView中,但是当我在本文后面完成将GridView添加到我的项目中时。我有一个显示图像的问题是图像(在项目文件夹中)不显示应用程序运行时但应用程序显示来自互联网的图像(文章中的代码运行良好并从项目文件夹加载图像),我不知道如何显示这个问题,

这是一些代码:

public class Movie
{
    public string Title { get; set; }
    public string Subtitle { get; set; }
    public string Image { get; set; }
    public string Category { get; set; }   
}

public class MovieCategory
{
    public string Title { get; set; }
    public List<Movie> Items { get; set; }
}

我的代码从项目文件夹加载图像:

 MovieList.Add(new Movie { Title = "The Ewok Adventure", Category = "Adventure", Subtitle = "The Towani family civilian shuttlecraft crashes on the forest moon of Endor.", Image = "duy.jpg" });

(之前我创建过MovieList,图片“duy.jpg”在项目文件夹中)

我不是为什么我尝试使用文章来源上面的代码,我已经通过调试工具仔细检查了图像源字符串,它运行良好(项目文件夹中的图像显示在文章的来源)但是当我添加到我的项目,来自互联网链接的图像运行良好,但项目文件夹中的图像没有加载。     请帮帮我。谢谢。

2 个答案:

答案 0 :(得分:0)

是项目根目录中的图像吗?你设置为内容并始终复制到输出文件夹?

答案 1 :(得分:0)

像这样更改类定义

public class Movie
{
    public string Title { get; set; }
    public string Subtitle { get; set; }
    public string Image { get; set; }
    public string Category { get; set; }   

    public ImageSource ImgSource
    {
         get
         {
            return new BitmapImage(new Uri("ms-appx:///" + this.Image));
         }
    }
}

将图片标记与ImgSource属性绑定,而不是Image属性。

<Image Source="{Binding ImgSource}" ........./>