我是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属性中,
我基本上做的是: How can I have a property in a class to store an picture/image?
但是我得到了NullReferenceException。
抱歉英语不好......
答案 0 :(得分:-1)
有很多方法可以存储图片。 如果属性将绑定到图像控件。 然后您可以使用: byte [] , BitmapImage , string(Uri)来存储图片。 这是因为这些类型可以自动将BitmapImage转换为ImageSource。
在这种情况下,您只需要修改 ImageSource 到 BitmapImage 。
顺便说一句,你不能使用ImageSource的原因是ImageSource的构造函数是内部的,所以你甚至无法创建一个ImageSource对象。
所以,就是这样,尝试使用其他类型。
public class Card
{
// Try some other type, they all can be bind to Image.Source.
public BitmapImage image;
}
希望它有所帮助。