Question

Je manque le bateau sur quelque chose ici, les enfants. Cela continue à élever sa tête et je ne sais pas ce qui se passe, alors j'espère que mes amis ici pourront vous aider.

Lorsque je travaille dans Silverlight, lorsque je crée des liaisons dans mon code c #, elles ne résistent jamais lorsque l'application est en cours d'exécution. Les liaisons déclaratives de mon xaml semblent correctes, mais je fais quelque chose de mal lorsque je crée mes liaisons en C #. J'espère qu'il manque quelque chose d'évident aveuglant. Voici une reliure typique qui se fait écraser:

TextBlock tb = new TextBlock();
Binding b = new Binding("FontSize");
b.Source = this;
tb.SetBinding(TextBlock.FontSizeProperty, b);
Était-ce utile?

La solution 2

Cela ressemble à partir de Silverlight 3.1, du moins, ce n’est plus un problème. Je ne peux pas le reproduire, en tout cas.

Autres conseils

Je viens d’essayer le code exact que vous venez de publier et cela a bien fonctionné, avec quelques modifications. Je crois que le problème est que l'élément que vous utilisez pour l'appel SetBinding n'est pas le bloc de texte que vous souhaitez lier. Ce devrait être:

TextBlock tb = new TextBlock();
Binding b = new Binding("FontSize");
b.Source = this;
tb.SetBinding(TextBlock.FontSizeProperty, b);

Assurez-vous de disposer également d'une propriété publique FontSize de type double sur "this". Si " cela " est un contrôle utilisateur, je vous conseillerais de renommer la propriété afin de ne pas masquer le membre hérité.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top