如何在我自己的属性中创建“可用字段”属性?

时间:2011-10-18 00:17:20

标签: asp.net

我创建了一个继承自StateManagedCollection的类。 它有一些类像GridView这样的列。 但我不能选择我想要选择哪个字段。 它应该如下图所示。 GridView Columns property

但我的是下面的那个: My GridView class's Items property

我写了如下财产:

[Description("A collection of ToolBarItem's ")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
[Editor(typeof(System.ComponentModel.Design.CollectionEditor), typeof(System.Drawing.Design.UITypeEditor)), PersistenceMode(PersistenceMode.InnerProperty)]
public virtual Items Items
{
}

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

GridView columns集合使用自定义UI类型编辑器来显示此界面。内置的ASP.NET CollectionEditor不会显示所需的UI。在您的情况下,如果集合的项类型是抽象类,则CollectionEditor可能不起作用。

解决方案是构建自己的自定义UI Type editor - 基本步骤

  1. 继承自System.Drawing.Design.UITypeEditor
  2. 覆盖GetEditStyle方法,通知属性浏览器您将启动模式窗体。
  3. 覆盖EditValue方法以启动自定义UI表单。
  4. 构建自定义UI表单。
  5. 查看几个示例here(请参阅TagTypeEditor的示例)和here