2010-09-13 16 views
6

Ich habe SubCtrl erstellt, das UserControl erbt. Es hat keinen Code. Ich habe dann Strg erstellt, die auch UserControl erbt. Es hat eine SubCtrl in ihr und ihr einzigen Code bedeutet, dass es öffentlich zu exponieren, so dass es in der Eigenschaftsliste der Ctrl erscheint:Designer generiert keinen Code für eine Eigenschaft eines Untersteuerelements. Warum?

public subctrl.SubCtrl SUBCTRL 
{ 
    get { return this.subCtrl1; } 
} 

Dann habe ich ein einfaches Formular Projekt erstellt, die nur eine Ctrl in ihm hat und keinen Code. Wie ich wollte, erscheint SUBCTRL in der Eigenschaftsliste von Ctrl, also kann ich Sachen ändern. Ich änderte die Hintergrundfarbe (sagen wir zu Rot) und das Subctrl wurde im Designer rot.

Aber magisch, wenn ich das Projekt laufen lasse, kehrt es zum Standardgrau zurück. Es scheint, dass in Form1.Designer.cs kein Code generiert wird, um die Hintergrundfarbe von SUBCTRL in Rot zu ändern. Wenn ich es von Hand schreibe, funktioniert es, aber das will ich nicht. Es sollte natürlich automatisch sein.

Die Ctrl hingegen verhält sich normal. Der Code wird erzeugt und alles funktioniert glücklich.

Was ist falsch an der Untersteuerung?

Antwort

9

Fügen Sie der Eigenschaft [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] hinzu.

+0

Kurz und effektiv. Hagel \ o /! – Gabriel

Verwandte Themen