在设计器的属性视图中公开用户控件的内部对象?

时间:2012-10-15 15:28:29

标签: vb.net custom-controls windows-forms-designer design-time

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

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

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

我错过了什么或者这可以做不到?我读过有关使用TypeConverter的地方。这是对的吗?

1 个答案:

答案 0 :(得分:0)

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

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

有关详情,请参阅我的问题,其链接如下:

Hide ellipsis (…) button of expandable property like “…” button of font property in the property grid

相关问题