0

我找不到使用此属性的方法的任何想法?

4

3 回答 3

1

想象一下你有这样的场景:

class Complex
{
   public OtherComplex1 Property1 { get; set; }
   public OtherComplex2 Property2 { get; set; }
   public OtherComplex2 Property3 { get; set; }
   .....
   public OtherComplexN PropertyN { get; set; }

}

您的每个属性都有自己的类型设计器,它显示一些属性等。

比如说,您有两个不同的 Complex 类实例 + 一些其他任意类的实例。

现在,当您像这样在对象之间切换时 - 复杂实例 1 -> 其他 -> 复杂实例 2 - 一切都会正常工作,但是如果您执行以下操作:

复杂实例 1 -> 复杂实例 2,您会注意到属性没有被刷新。

这是属性网格的默认行为,它试图优化数据刷新操作的数量。unless you want to bake a lot of logic in order to keep your designers updated, i'd suggest marking your complexTypes with editor reuse attribute set to false - in this case, whenever selection changes to a different instance, property grid would still refresh your设计师。

于 2009-06-23T19:17:22.317 回答
1

MSDN表示确实是表示可以重复使用属性编辑器而无需每次都重新创建。

这是一个性能上的胜利,特别是如果您的编辑器需要在启动时做大量工作,这是可以避免的。除非您实际上遇到性能问题,否则我不会担心。

于 2009-06-01T13:07:54.643 回答
0

如果您不知道它的作用,为什么需要使用它?您是否有任何当前正在使用它的代码可以作为示例发布?

听起来它允许您定义可以重用您的属性的属性编辑器而无需重新启动。我不太确定为什么这会有用。

于 2009-05-29T20:27:12.743 回答