2015-04-05 9 views
9

In base ai video di avvio di Windows 10 SDK (http://www.microsoftvirtualacademy.com/training-courses/a-developers-guide-to-windows-10-preview?prid=ch9courselink) esiste un nuovo tipo di binding per la piattaforma di app universale Windows 10 denominata "associazioni di dati compilate".Windows 10 UAP: associazioni dati compilate

Invece di

"{Binding Path=..." 

il nuovo stile è

"{x:Bind Path=..." 

Tuttavia questo getta solo in un errore del compilatore che tutto ciò che si trova dietro i = è posto non esiste nel contesto.
Impostazione

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

non funziona neanche.
Qualcuno è riuscito a far funzionare le nuove associazioni? C'è tutta la documentazione sul tema perché non mi sembra di essere in grado di trovare nulla (nemmeno un campione che si potrebbe "reverse engineer" ...

Aggiornamento:
Grazie alla risposta di Nick posso aggiungere:
Poiché di solito inserisco i modelli di visualizzazione dopo l'inizializzazione di Page/UserControl, la pagina/UserControl non sembra notare la proprietà ViewModel aggiornata (anche quando la Page/UserControl implementa e "attiva" INotifyPropertyChanged) Apparentemente c'è un nuovo campo in Pages/UserControls chiamato Bindings che può far rispettare un reset di tutti i binding di dati compilati

Quindi una volta che si cambia ViewModel (o un'altra proprietà a cui fa riferimento x: Bind) si può semplicemente chiamare:

Binding.UpdateAll() 

In questo modo la pagina/UserControl rivaluta tutte le associazioni dati compilati e accetta un "cambio di contesto dei dati".

+0

significa "x: Bind" non è utile con ViewModels non Pagina-based come MvvmLight? –

+0

Rispondere alla mia domanda su MvvmLight. Basta catturare il modellabile nel costruttore del codice e riferirlo come parte del collegamento, come in: Testo = "{x: Percorso di bind = vm.prop, Modalità = OneWay}" –

+0

Impossibile trovare il Binding.UpdateAll metodo. – Christian80

risposta