La markup extension x:Bind è una valida alternativa a {Binding} nelle applicazioni della Universal Windows Platform perché, proprio a partire da Windows 10, è possibile avere binding compilati che sono decisamente più performanti rispetto al classico binding. Non tutte le funzionalità di x:Bind sono identiche a quelle supportate da {Binding} proprio perché nel primo caso i binding vengono elaborati a compile-time, mentre nell'altro vengono elaborati a runtime.
Per ottenere delle prestazioni ottimali, di default il binding viene effettuato in modalità OneTime (al contrario di OneWay di {Binding}) e non è possibile specificare una modalità alternativa. A partire dal Fall Creators Update però, è stata aggiunta una proprietà DefaultBindMode che ha lo scopo di modificare il BindingMode per una porzione specifica di codice che include un intero ramo di XAML.
<Grid x:DefaultBindMode="TwoWay"> <TextBox x:Text="{x:Bind MyProperty}" /> </Grid>
Come mostrato nell'esempio qui sopra, la griglia contenitore ha cambiato la modalità di binding impostandola a TwoWay e, di conseguenza, tutti gli oggetti in essa contenuti, come la TextBox, avranno il binding applicato in quella modalità, a meno ché il sia dichiarato espressamente il contrario.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Generare file PDF da Blazor WebAssembly con iText
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Disabilitare automaticamente un workflow di GitHub
Eseguire attività pianificate con Azure Container Jobs
Reactive form tipizzati con FormBuilder in Angular
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Determinare lo stato di un pod in Kubernetes
Installare le Web App site extension tramite una pipeline di Azure DevOps
Mascherare l'output di un valore all'interno dei log di un workflow di GitHub
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
Utilizzare politiche di resiliency con Azure Container App
Utilizzare la libreria Benchmark.NET per misurare le performance