我有这样的财产:

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


我有一个从CollectionEditor派生的LayerCollection类。这个Layers属性在Canvas类中。现在,Layer对象需要了解作为集合父级的Canvas类。那么,如何获取名为LayerCollection的CollectionEditor的父级呢?

或者,如果不可能,是否可以在创建参数时将参数传递给CollectionEditor?通过这种方式,我可以在创建Canvas时将Layer对象作为参数传递给。

最佳答案

“汉斯·帕桑特”在第一篇评论中回答了我的问题:


  EditValue()的第一个参数是ITypeDescriptorContext,它为您提供所需的上下文。其Instance属性引用该控件。 –汉斯·帕桑(Hans Passant)

10-08 12:45