Entwickler-Ecke

Programmierwerkzeuge - C# 2008 bestimmtes UserControl für CollectionEditor festlege


VampireSilence - Sa 12.04.14 23:02
Titel: C# 2008 bestimmtes UserControl für CollectionEditor festlege
Hallo Zusammen,

ich habe ein UserControl erstellt, dass einen Container für ein weiteres UserControl2 darstellt. Ich stelle die UserControl.Controls mit folgendem Code dem VisualDesigner zur Verfügung:

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
        [Browsable(false)]
        [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
        [System.ComponentModel.EditorBrowsable(EditorBrowsableState.Always), EditorAttribute(typeof(CollectionEditor), typeof(UITypeEditor))]
        public ControlCollection InnerControls
        {
            get
            {
                return base.Controls;
            }
        }

Das Problem ist jetzt, dass wenn immer ich im Visual Studio ein Control über den Editor hinzufüge, dies ein System.Control-Objekt wird und kein UserControl2-Objekt. Natürlich habe ich dies auch noch nicht entsprechend definiert, weil ich nicht weiss wie und ich hoffe genau dabei könnt ihr mir helfen.

Ich habe bis jetzt seitenweise Quellcode von Reflektionen der CollectionEditor- und UITypeEditor-Klassen durchgelesen und stelle mir die Umsetzung inzwischen ziemlich komplex vor. Ich hoffe aber auf eine einfache Lösung, wie etwa:

[System.ComponentModel.EditorBrowsable(EditorBrowsableState.Always), EditorAttribute(typeof(CollectionEditor<UserControl2>), typeof(UITypeEditor))]

Bin für jeden Tipp dankbar. :)

Viele Grüße
- VampireSilence