PropertyGrid,设计中的行为与运行时的行为有何不同

本文关键字:运行时 何不同 PropertyGrid | 更新日期: 2023-09-27 18:27:45

我在属性网格方面遇到了一些问题。即:

当我在visualstudio设计器中使用属性网格时,与在运行时以及调试时的行为不同。

需要注意的几点(这是在设计器中使用表单,编辑自定义文本框,而不是将属性网格嵌入表单,并将其附加到同一自定义文本框)

当我在设计器中选择了多个对象,并设置了一个属性(自定义类型,带转换器)时,我会得到一个null引用异常。当我在运行时使用"SelectedObjects"字段时,我不会得到异常。如果我将调试器附加到设计器,则不会发生异常,并且我的属性设置将正常工作。

我实现了自己的可扩展对象转换器,它可以进行属性排序。当我运行应用程序时,我的属性以正确的顺序显示,但当使用visualstudio设计器时,它们仍然以默认顺序显示。

有没有任何资源可以帮助解释为什么会发生这些行为?

谢谢!

PropertyGrid,设计中的行为与运行时的行为有何不同

您是否引用了当前程序集之外的任何类(或者解决方案之外更是如此)?

这个设计器不如加载那些外部dll。在某些情况下,设计器会知道您是从ExpandableObjectConverter派生的,但无法加载特定的基类,最终只加载泛型转换器。尝试将所有基类加载到当前程序集中,看看这是否有什么不同。

相关文章: