0

この問題を解決するためにインターネットで多くのことを検索してきましたが、適切な解決策が見つかりませんでした。これが問題です:(これはVS2010のWPFアプリです)私はこのクラスを持っていると仮定します:

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;}   
}

ここで、App.xaml ファイルに人物リストを含む Airplane クラスのインスタンスを作成したいと考えています。つまり、独自のリソース (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 のパフォーマンスが向上します通常のリストとしてコード ビハインドのクラス (追加など) は問題なく動作します..何が間違っているのでしょうか?? 上級者に感謝します..

4

1 に答える 1

0

ついに解決策を発見!! Application.Resources では、「pList」を「apCollection」の上で宣言する必要があります。おそらく宣言の順序が重要です..

于 2012-10-26T10:13:24.610 に答える