Question

Démarrer une nouvelle application Silverlight ... et dans le code situé derrière (dans l'événement "Loaded"), insérez ce code:

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

Mais ...

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

L'erreur générée est "La valeur ne se situe pas dans la plage attendue". En passant, ce code fonctionne à 100% dans WPF (développement Windows), et il ne devrait y avoir aucune raison pour que cela ne fonctionne pas dans WPF / E:)

Avez-vous des idées?

Était-ce utile?

La solution

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

Autres conseils

Vous pouvez utiliser des éléments visuels comme source de données si vous créez une liaison directement dans le code, mais essayer d'assigner un élément visuel à DataContext génèrera une exception ArgumentException. Cela n'a pas beaucoup de sens, mais Silverlight ne concerne que la version 2.

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