2011-04-08 18 views
5

Estoy trabajando en un control personalizado para WPF y Silverlight. Este control tiene una propiedad de colección de un tipo complejo que es abstracto, como por ejemplo:Visual Studio 2010 editor de colección de tiempo de diseño

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>())); 

Mi problema es que no puedo añadir nuevos elementos a esta propiedad en el diseñador de Visual Studio de 2010, ya que no sabe cualquier tipo derivados de MyBase.

¿Hay alguna manera de registrar estos tipos con el diseñador? El editor funciona bien con los elementos existentes, y puede eliminarlos y modificarlos. Una imagen para ilustrar:

enter image description here

Respuesta

5

Sería necesario para decorar su propiedad colección con el NewItemTypesAttribute. Puede hacerlo directamente en su clase, pero en WPF/Silverlight generalmente se definen en un ensamblaje de diseño por separado. Hay un buen recorrido por este here.

Cuestiones relacionadas