我一直在互联网上搜索很多来解决这个问题,并找不到合适的解决方案。这是问题所在:(这是一个WPF应用程序,在VS2010中) 假设我有这个课程:
public class Airplane
{
public string AirplaneName{get;set;}
public ObservableCollection<People> myPeopleList {get;set;}
}
public class People
{
public string Name{get;set;}
public string SeatNumber{get;set;}
}
现在我想创建一个Airplane类的实例,包括App.xaml文件中的人员列表。也就是说,创建我自己的资源(Application.Resources)。我尝试了这个,但我得到了一个例外:
<lcl:AirPlaneCollection x:Key="apCollection" >
<lcl:Airplane Name="airbus-780" myPeopleList="{StaticResource pList}" >
</lcl:AirPlaneCollection>
<lcl:PeopleCollection x:Key="pList">
<lcl:People Name="name1" SeatNumber="1"/>
<lcl:People Name="name2" SeatNumber="2"/>
</lcl:PeopleCollection>
AirPlaneCollection和PeopleCollection只是继承自ObservableCollection<Airplane>
和ObservableCollection<Poeple>
的简单类
当我尝试使用该资源时(Application.Current.Resources [“appCollection”]它会编译,但我在运行时得到一个异常。
我的TreeView DataTemplate运行良好,因为如果我将代码隐藏中的类实例化为常规列表(Add ect。),它可以完美地工作......我做错了什么?
感谢先进..
答案 0 :(得分:0)
终于找到了解决方案!! 在Application.Resources中,“pList”需要在“apCollection”之上声明。 可能声明顺序很重要..