Pravkar si bom glavo razbil od use te muke. Primer bom malce poenostavu, da ne bo vse navlake tukej.
Imam en svoj property Items definiran takole:
[Editor(typeof(TEditor), typeof(System.Drawing.Design.UITypeEditor)), Category(Const.cPropertyCategoryItems), NotifyParentProperty(true), PersistenceMode(PersistenceMode.InnerProperty), DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public List<string> Items
{
get{return _Items;}
}
In ko debugiram dobim vrednost od Designerja(TEditor-ja) nazaj lepo 3 stringe, vendar pa se ta stvar ne zapiše v aspx file. Probal sem že skoraj use, pa mi nikakor ne rata. Pogruntol sem da pa če prestavim tip List<string> v string, potem pa use lepo dela. Z List<string> pa ne.
Nekako pričakujem, da bo aspx file izgledal takole:
<cc1:MojaControla ID="MojaControla1" runat="server">
<Items>
stringi
</Items>
</cc1:MojaControla>
Vendar se tist Items nikoli ne doda. Če ročno(v aspx file) napišem te itemse, jih moj designer vidi, vendar če dodam nove vrstice se te ne dodaja v aspx file.
Kakršnakoli pomoč bi bila naduse zaželjena, ker jaz sem na robu obupa.
Hvala
fora - petek, 09. marec 2007
Najdu. 50 ur je šlov nič, samo zarad tele ušive vrstice:pContext.OnComponentChanged();v metodi public override object EditValue(ITypeDescriptorContext pContext, IServiceProvider pProvider, object pValue)
fora - petek, 09. marec 2007
Ja če umaknem direktivo Editor(typeof(TEditor), typeof(System.Drawing.Design.UITypeEditor)) in uporabim designer od Visual Studia 2005, potem vse dela.Vendar ko debugiram vidim da mi v get{return _Items;} vrne pravilne vrednosti. _Items ima noter vse stringe, kar pomeni, da designer vrne tiste stringe, ki sem jih dodal, samo to se ne zapiše v aspx file.