3

我正在使用PropertyGrid(在 CollectionEditor 中)来编辑类的一些属性。这些属性实际上包装在实现ICustomTypeDescriptor. 其中一个使用继承自UITypeEditor. 当用户在自定义编辑器中更改此属性的值时,另一个属性的值也会被更新(通过自定义编辑器中的代码;因此,属性包装器引用了另一个属性)。到现在为止还挺好。

但是当用户关闭自定义编辑器时,PropertyGrid只会显示已编辑属性的新值,而不会刷新其他属性(即使它的值肯定已更改)。

如何PropertyGrid从自定义编辑器刷新整个包含?

4

1 回答 1

1

我自己找到了解决方案:

自定义编辑器的 EditValue 方法应该返回一个新对象,而不是传入的值对象。然后 PropertyGrid 也会自动刷新其他属性。

我不需要在任何地方使用 RefreshProperties 属性。

于 2012-12-16T15:41:41.967 回答