2011-10-18 2 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