2015-04-05 9 views
9

Gemäß den Kick-Start-Videos zu Windows 10 SDK (http://www.microsoftvirtualacademy.com/training-courses/a-developers-guide-to-windows-10-preview?prid=ch9courselink) gibt es eine neue Art von Bindungen für die universelle Windows 10-Anwendungsplattform namens "kompilierte Datenbindungen".Windows 10 UAP - Kompilierte Datenbindungen

Statt

"{Binding Path=..." 

der neue Stil ist

"{x:Bind Path=..." 

dies jedoch nur in einem Compiler-Fehler führt, dass, was auch immer hinter dem = ist gelegt wird, existiert nicht in Zusammenhang.
Einstellung

"{x:Bind Path=DataContext...." 

funktioniert auch nicht.
Hat es jemand geschafft, dass die neuen Bindungen funktionieren? Gibt es eine Dokumentation über das Thema, weil ich irgendetwas nicht in der Lage sein scheinen zu finden (nicht einmal ein Beispiel, das Sie „engeneer umkehren“ könnte ...

Update:
Dank Nick Antwort kann ich Fügen Sie Folgendes hinzu:
Da ich normalerweise Ansichtsmodelle nach dem Initialisieren der Seite/UserControl einfügen, scheint die Page/UserControl die aktualisierte ViewModel -Eigenschaft nicht zu bemerken (auch wenn die Page/UserControl implementiert und "feuert" INotifyPropertyChanged). Anscheinend In Pages/UserControls gibt es ein neues Feld mit der Bezeichnung Bindings, das ein Zurücksetzen aller kompilierten Datenbindungen erzwingen kann:

Also, wenn Sie Ihre Ansichtsmodell ändern (oder eine andere Eigenschaft von x verwiesen: Bind) Sie können einfach anrufen:

Binding.UpdateAll() 

diese Weise wird die Seite/Usercontrol reevaluates alle Datenbindungen erstellt und akzeptiert einen „Datenkontextschalter“.

+0

Heißt das "x: Bind" mit nicht seitenbasiert nicht sinnvoll ist Viewmodels wie MvvmLight? –

+0

Ich beantworte meine eigene Frage zu MvvmLight. Erfasse einfach das Viewmodel im Konstruktor des dahinter liegenden Codes und referenziere es als Teil der Bindung, wie in: Text = "{x: Bind Path = vm.prop, Mode = OneWay}" –

+0

Das Binding.UpdateAll kann nicht gefunden werden Methode. – Christian80

Antwort