0

我已经成功地使用 DesignerSerializationVisibility(Content) 在 vb.net 设计器中公开了一组项目。现在我有了新的转折。我的集合中某个自定义控件的项目是不可变的——即项目既不能添加也不能删除。我想要的只是在设计器的属性面板中公开我的集合的项目,以便开发人员可以调整预定义的项目集合中每个项目的各个属性。

当我尝试 DesignerSerializationVisibility(Content) 时,它允许开发人员管理项目,而不是编辑现有项目,而是尝试将项目重新添加到集合中,这会导致键冲突。

结果,我认为将集合中的每个项目都公开为自己的属性可能是有意义的。我使用了 DesignerSerializationVisiblity(Visible) 和 (Content),两者都只在属性窗口中显示类型名称,但它公开的对象以可以操纵其属性的方式不可见。

我错过了什么还是不能这样做?我在某处读到了有关使用 TypeConverter 的信息。这是正确的吗?

4

1 回答 1

0

如果我正确理解您的问题,您希望将属性更改为具有多个子属性的可扩展属性。

如果我理解正确,您必须创建一个派生自ExpandableObjectConverter的类。并将此类与TypeConverterAttribute一起用于您的属性或与您的属性相关的类。

有关更多信息,请参阅我的问题,它的链接在下面提供:

在属性网格中隐藏可扩展属性的省略号 (...) 按钮,例如字体属性的“...”按钮

于 2012-10-24T08:26:05.143 回答