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
Workflow di continuous deployment tramite pull request label in GitHub
Gestione degli environment per il deploy con un workflow di GitHub
.NET Conference Italia 2023
Utilizzare le Cache API di JavaScript per salvare elementi nella cache del browser
Utilizzare l'operatore GroupBy come ultima istruzione di una query LINQ in Entity Framework
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
Specificare il versioning nel path degli URL in ASP.NET Web API
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Effettuare lo stream della risposta in ASP.NET Core tramite IAsyncEnumerable
Routing statico e PreRendering in una Blazor Web App
Utilizzare i primary constructor di C# per inizializzare le proprietà
Eseguire attività basate su eventi con Azure Container Jobs