Autor Beitrag
VampireSilence
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 109
Erhaltene Danke: 5


C# (VS 2008 Express), PHP/MySQL, Windows XP
BeitragVerfasst: Sa 12.04.14 23:02 
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:
ausblenden 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