我正在使用PropertyGrid
(在CollectionEditor中)编辑类的某些属性。这些属性实际上包含在实现ICustomTypeDescriptor
的类中。其中一个使用继承自UITypeEditor
的自定义编辑器。当用户在自定义编辑器中更改此属性的值时,另一个属性的值也将被更新(通过自定义编辑器中的代码;由于此原因,属性包装器具有对其他属性的引用)。到目前为止一切都很好。
但是当用户关闭自定义编辑器时,PropertyGrid
仅显示已编辑属性的新值,并且不刷新其他属性(即使其值已明确更改)。
如何从自定义编辑器刷新整个PropertyGrid
?
答案 0 :(得分:1)
我自己找到了解决方案:
自定义编辑器的EditValue方法应该返回一个新对象,而不是传入的值对象。然后PropertyGrid也会自动刷新其他属性。
我不需要在任何地方使用RefreshProperties属性。