2010-09-13 11 views
6

Utworzono SubCtrl dziedzicząc UserControl. Nie ma kodu. Stworzyłem wtedy Ctrl, który również dziedziczy UserControl. Ma SubCtrl w nim i jego tylko kod oznacza narażać go publicznie, dlatego pojawia się w wykazie nieruchomości Ctrl:Projektant nie generuje kodu dla właściwości podrzędnego sterowania podrzędnego. Czemu?

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

Potem stworzyliśmy prosty projekt forma, która tylko Ctrl w nim i bez kodu. Tak jak chciałem, SUBCTRL pojawia się na liście właściwości Ctrl, więc mogę zmieniać rzeczy. Zmieniłem kolor tła (powiedzmy na czerwony), a subprukt zmienił się na czerwony w projektancie.

Ale magicznie, po uruchomieniu projektu, wraca on do standardowej szarości. Wygląda na to, że żaden kod nie jest generowany w Form1.Designer.cs, aby zmienić kolor tyłu SUBCTRL na czerwony. Jeśli piszę to ręcznie, działa, ale nie tego chcę. Oczywiście powinno to być automatyczne.

Ctrl zachowuje się normalnie. Kod jest generowany i wszystko działa szczęśliwie.

Co jest nie tak z kontrolką podrzędną?

Odpowiedz

9

Dodaj [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] do nieruchomości.

+0

Zwięzłe i skuteczne. Grad \ o /! – Gabriel

Powiązane problemy