1

我是 XAML/WPF 的新手,我不知道如何处理这个问题,我花了太多时间在这上面,但我想不通。

我有一个名为 Card 的类,它的属性“应该”包含图像的来源。

public class Card
{
     public ImageSource image; // this is the only one which doesn't get a value..
}

我还有一个带有方法的类,它可以向卡片集合添加信息,如下所示:

public class deck
{
     public card[] = new card[51];
     public void FillCards()
     {
         while(I > something) //don't mind about the loop, because it's working fine
         {
             card[i] = new card()
             {   
                 name = this.name, //works
                 number = this.number, //works
                 //works etc...
                 image = new BitmapImage(new Uri(path, UriKind.Absolute)), //except this is not working
                 //Before you ask, yes the path is correct...
             };
         }   
     }
}

简而言之,我的问题是:

为什么我不能将 BitmapImage 存储在 ImageSource 属性中,

我基本上在做的是: 如何在类中有一个属性来存储图片/图像?

但我得到了 NullReferenceException。

对不起英语不好...

4

1 回答 1

-1

有很多方法可以存储图片。如果属性将绑定到图像控件。然后你可以使用:byte[] , BitmapImage , string(Uri)来存储图片。这是因为这些类型可以自动将 BitmapImage 转换为 ImageSource。

在这种情况下,您只需将ImageSource修改为BitmapImage

顺便说一句,你不能使用 ImageSource 的原因是 ImageSource 的 Constructor 是内部的,所以你甚至不能创建一个 ImageSource 对象。

所以,就是这样,尝试使用其他类型。

public class Card
{
     // Try some other type, they all can be bind to Image.Source.
     public BitmapImage image; 
}

一个相关的问题。

希望它有帮助。

于 2013-10-13T05:12:33.737 回答