C# Visual Studio 2010设计时集合编辑器

C# Visual Studio 2010设计时集合编辑器,c#,.net,visual-studio-2010,design-time,C#,.net,Visual Studio 2010,Design Time,我正在为WPF和Silverlight开发一个自定义控件。此控件具有复杂类型的抽象集合属性,如: public Collection<MyBase> Configuration { get { return (Collection<MyBase>)GetValue(ConfigurationProperty); } set { SetValue(ConfigurationProperty, value); } }

我正在为WPF和Silverlight开发一个自定义控件。此控件具有复杂类型的抽象集合属性,如:

public Collection<MyBase> Configuration
    {
        get { return (Collection<MyBase>)GetValue(ConfigurationProperty); }
        set { SetValue(ConfigurationProperty, value); }
    }

    // Using a DependencyProperty as the backing store for Configuration This enables animation, styling, binding, etc...
    public static readonly DependencyProperty ConfigurationProperty =
        DependencyProperty.Register("Configuration", typeof(Collection<MyBase>), typeof(MyControl), new PropertyMetadata(new ObservableCollection<MyBase>()));
公共集合配置
{
获取{return(Collection)GetValue(ConfigurationProperty);}
set{SetValue(ConfigurationProperty,value);}
}
//使用DependencyProperty作为配置的备份存储,这将启用动画、样式、绑定等。。。
公共静态只读DependencyProperty ConfigurationProperty=
Register(“配置”、typeof(集合)、typeof(MyControl)、newpropertyMetadata(newobserveCollection());
我的问题是,我无法在Visual Studio 2010的设计器中向该属性添加新项,因为它不知道MyBase的任何派生类型

有没有办法向设计师注册这些类型?编辑器可以很好地处理现有项,并且可以删除和修改它们。要说明的图像:


您需要用这些装饰您的收藏品。您可以直接在类中执行此操作,但在WPF/Silverlight中,它们通常在单独的设计程序集中定义。有一个很好的步行通过这个