如何将集合的设计器属性添加到我的服务器控件?

时间:2013-10-16 22:39:42

标签: c# asp.net custom-controls designer web-controls

我有一个服务器控件,我想添加一个对象列表的属性。我希望这个属性可以通过设计器进行配置,类似于下拉列表项等。

这是尝试定义属性:

    /// <summary>
    /// Set this if you want to customize the export drop down options
    /// </summary>
    [Description("Customize the export drop down options if you do not want to use the defaults."), DefaultValue(null)]
    [Category("Misc")]
     [DesignerSerializationVisibility(
        DesignerSerializationVisibility.Content),
    Editor(typeof(List<MenuItem>), typeof(UITypeEditor)),
    PersistenceMode(PersistenceMode.InnerDefaultProperty)]
    public List<MenuItem> ExportMenuItems
    {
        get { return _ExportMenuItems; }
        set { _ExportMenuItems = value; }
    }

另一次尝试使用了MenuItemCollections。

目前的问题是当我点击对象属性窗口中的省略号按钮时,设计师会弹出一个窗口,然后立即消失。

我查看了这些链接,但我不确定这是否是我需要的:

Web Control Collection Property Example

Collection Editor Example

1 个答案:

答案 0 :(得分:0)

如果您看到here,则定义为

Editor(typeof(ContactCollectionEditor), typeof(UITypeEditor)),...

你有

Editor(typeof(List<MenuItem>), typeof(UITypeEditor)),...

我不知道这是否会对你有所帮助。我刚看到它并想指出它。