2008-11-15 7 views
0

Démarrer une nouvelle application Silverlight ... et dans le code derrière (en cas "Loaded"), mettre ce code:Silverlight DataBinding Erreur - Fonctionne dans WPF Bien!

// This will *NOT* cause an error. 
this.LayoutRoot.DataContext = new string[5]; 

Mais ...

// This *WILL* cause an error! 
this.LayoutRoot.DataContext = this; 

L'erreur est soulevé est "La valeur ne tombe pas dans la fourchette attendue." BTW, ce code fonctionne à 100% dans WPF régulière (développement de Windows), et il devrait y avoir aucune raison pour laquelle il ne fonctionnera pas dans WPF/E :)

Des idées?

Répondre

4

Vous ne pouvez pas utiliser actuellement d'éléments visuels comme source de données pour la liaison de données dans Silverlight 2. Je pense que cette option doit être ajoutée pour Silverlight v.Next.

+0

Aurait dû savoir que l'ancien bill aurait la réponse :) Donc je devine que je vais devoir faire un objet intermédiaire inutile pour stocker mes propriétés sur et ensuite utiliser cela comme le DataContext. –

0

Vous pouvez utiliser des éléments visuels comme source de données si vous créez une liaison directement dans le code, mais si vous tentez d'affecter un élément visuel à DataContext, ArgumentException sera lancé. Cela n'a pas beaucoup de sens, mais Silverlight est juste sur la version 2.

Questions connexes