2011-10-18 6 views
2

は、私はそのようなプロパティがあります。CollectionEditorの親

[Editor(typeof(LayerCollection), typeof(UITypeEditor))] 
public List<Layer> Layers { get { return layers; } } 

をそして私はCollectionEditor由来LayerCollectionクラスを持っています。そしてこのLayersプロパティはCanvasクラスにあります。さて、Layerオブジェクトは、コレクションの親であるCanvasクラスを知る必要があります。だから、LayerCollectionという名前のCollectionEditorの親をどうやって取得できますか?

または不可能な場合は、作成時にCollectionEditorにパラメータを渡すことはできますか?このようにして、CanvasオブジェクトをパラメータとしてLayerに渡すことができます。

+1

EditValue()の最初の引数は、必要なコンテキストを提供するITypeDescriptorContextです。そのInstanceプロパティはコントロールを参照します。 –

+0

ハンス、ありがとう、しかし、私はそのような親を得るとき: 'this.parent =(Canvas)context.Instance;'、それは私に** null **を与えます。 – oruchreis

+0

実際、問題があります。 'TypeConverter'クラスのために** null **を返します。もう一度感謝します。EditValue()はそのトリックを行います。 – oruchreis

答えて

1

「ハンスアンパッサンは、」最初の投稿のコメントで私の質問に答え:

EditValueへの最初の引数は()あなたが必要コンテキストを与えるITypeDescriptorContextです。そのInstanceプロパティはコントロールを参照します。 - Hans Passant

関連する問題