Silverlight Databinding-Fehler - Funktioniert in WPF Obwohl!
-
08-07-2019 - |
Frage
eine neue Silverlight-Anwendung ... und in der Code-behind (in der "Loaded" -Ereignis), setzen Sie diesen Code ein:
// This will *NOT* cause an error.
this.LayoutRoot.DataContext = new string[5];
Aber ...
// This *WILL* cause an error!
this.LayoutRoot.DataContext = this;
Der Fehler, der angehoben wird, ist „Wert nicht innerhalb des erwarteten Bereichs fällt.“ BTW, funktioniert dieser Code 100% in regelmäßigen WPF (Windows-Entwicklung), und es soll kein Grund sein, warum es nicht in WPF / E arbeiten:)
Alle Gedanken?
Lösung
Sie können derzeit nicht visuelle Elemente als Datenquelle für die Datenbindung verwenden, in Silverlight 2. Ich denke, das ist für Silverlight v.Next hinzugefügt wird geplant ist.
Andere Tipps
Sie können die visuellen Elemente als Datenquelle verwenden, wenn Sie direkt im Code erstellen zu binden, sondern versuchen, visuelles Element Datacontext zuweisen wird Argument werfen. Es macht nicht viel Sinn machen, aber Silverlight ist nur auf Version 2