我有一个这样的属性:
[Editor(typeof(LayerCollection), typeof(UITypeEditor))]
public List<Layer> Layers { get { return layers; } }
我有一个LayerCollection
类,派生自CollectionEditor。这个Layers
性质属于Canvas
类。现在,Layer
对象需要知道Canvas
类,它是集合的父类。那么我怎么能得到父CollectionEditor命名为LayerCollection
?
或者如果不可能,我可以在创建CollectionEditor时传递参数吗?通过这种方式,我可以将Canvas
对象作为参数传递给创建Layer
。
"Hans Passant"在第一篇文章的评论中回答了我的问题:
EditValue()的第一个参数是一个ITypeDescriptorContext,它提供了您需要的上下文。它的Instance属性引用控件。——汉斯·帕桑特