Associazione programmatica in Silverlight
-
09-06-2019 - |
Domanda
Mi sto perdendo il treno per qualcosa, ragazzi.Questo continua a sollevare la testa e non so cosa stia succedendo, quindi spero che i miei amici qui possano aiutare.
Quando lavoro in Silverlight, quando creo associazioni nel mio codice C#, non reggono mai quando l'applicazione è in esecuzione.I collegamenti dichiarativi dal mio xaml sembrano ok, ma sto facendo qualcosa di sbagliato quando creo i miei collegamenti in C#.Spero che ci sia qualcosa di assolutamente ovvio che mi sfugge.Ecco un tipico legame che viene schiacciato:
TextBlock tb = new TextBlock();
Binding b = new Binding("FontSize");
b.Source = this;
tb.SetBinding(TextBlock.FontSizeProperty, b);
Soluzione 2
Sembra che almeno a partire da Silverlight 3.1 questo non sia più un problema.Non posso riprodurlo, in ogni caso.
Altri suggerimenti
Ho appena provato il codice esatto che hai appena pubblicato e ha funzionato bene, con alcune modifiche.Credo che il problema sia che l'elemento che stai utilizzando per la chiamata SetBinding non è il blocco di testo che desideri associare.Dovrebbe essere:
TextBlock tb = new TextBlock();
Binding b = new Binding("FontSize");
b.Source = this;
tb.SetBinding(TextBlock.FontSizeProperty, b);
Assicurati di avere anche una proprietà pubblica FontSize di tipo double su "this".Se "questo" è un controllo utente, consiglierei di rinominare la proprietà in modo da non nascondere il membro ereditato.