2009-06-24 17 views
3

XAMLコードのWindows.Resourcesセクションで汎用タイプを使用しようとしています。下図のように私のジェネリックコレクションはのObservableCollectionから継承オブジェクトのコレクションのための通知を添付するには:Window.Resourcesで汎用タイプを使用する

public class PresentationModalCollection<T> : ObservableCollection<T> 
    { 
     public PresentationModalCollection(List<T> list) : base(list) 
     { 

     } 

    } 

は下記のようにリストのためのObservableCollectionを返す拡張メソッドがあります:今

public static class ExtensionMethods 
    { 
     public static PresentationModalCollection<T> ToObservableCollection<T>(this List<T> list) 
     { 
      return new PresentationModalCollection<T>(list); 
     } 
    } 

、私は、以下に示すように私のWindow.ResourcesでPresentationModalCollectionを使用したい:もちろん

<Window.Resources> 
     <LearningWPF:PresentationModalCollection x:Key="customers"> 
      <LearningWPF:Customer FirstName="Mohammad" LastName="Azam" /> 
     </LearningWPF:PresentationModalCollection> 


    </Window.Resources> 

を、上記のコードは動作しません。 ObservableCollectionから継承するクラスCustomerCollectionを作成せずに上記を行う方法はありますか?

+1

.NET 3.5ではサポートされていませんが、.NET 4.0ではサポートされると思います。次のリンク=> http://msdn.microsoft.com/en-us/library/dd489466(VS.100).aspxを参照してください。 – azamsharp

答えて

2

マイクヒルベルグは、それを助け、かなりうまくいくことができるextensionsをいくつか持っています。ラップしたいタイプごとにCustomerCollectionとコレクションのタイプを作成することは、圧倒されることに同意します。 Sacha BarberにはXAMLのGenericsを使用するソリューションもありますが、彼のウェブサイトは当面は帯域幅の上限を超えているようです。

関連する問題