Contestualmente all'uscita di Visual Studio 2013 è stato rilasciato il Behaviors SDK che aggiunge il supporto ai Behavior per le Windows Store app in XAML.
I Behaviors sono un insieme di classi che permettono la definizione direttamente nel markup di comportamenti e logiche in reazione alle azioni dell'utente o anche tra proprietà ed eventi dei controlli presenti nelle View o ancora tra i loro ViewModel, nel contesto del pattern Model-View-ViewModel.
La definizione di questi comportamenti direttamente nel markup permette di alleggerire i ViewModel (o il codice in generale) da logiche che esulano da processi applicativi in senso stretto e richiederebbero una discreta manutenzione, oltre a rendere il loro riutilizzo più semplice.
Per utilizzare i Behaviors è sufficiente aggiungere la reference alla libreria dal tab Extentions:
Nel markup è necessario aggiungere il namespace xml alle due librerie xmlns:Interactivity="using:Microsoft.Xaml.Interactivity" e
xmlns:Core="using:Microsoft.Xaml.Interactions.Core".
Successivamente possiamo usare uno dei Behavior a disposizione, ad esempio il DataTriggerBehavior:
<Grid x:Name="main"> <Interactivity:Interaction.Behaviors> <Core:DataTriggerBehavior Binding="{Binding ShowMain}" ComparisonCondition="GreaterThanOrEqual" Value="0"> <Core:ChangePropertyAction TargetObject="{Binding ElementName=main}" PropertyName="Visibility"> <Core:ChangePropertyAction.Value> <Visibility>Visible</Visibility> </Core:ChangePropertyAction.Value> </Core:ChangePropertyAction> </Core:DataTriggerBehavior> </Interactivity:Interaction.Behaviors> </Grid>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Eseguire operazioni sui blob con Azure Storage Actions
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Miglioramenti agli screen reader e al contrasto in Angular
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Effettuare il refresh dei dati di una QuickGrid di Blazor
Creare una libreria CSS universale: Nav menu
Utilizzare Copilot con Azure Cosmos DB
Ottimizzazione dei block template in Angular 17
Hosting di componenti WebAssembly in un'applicazione Blazor static
Il nuovo controllo Range di Blazor 9
Eseguire script pre e post esecuzione di un workflow di GitHub
Utilizzare il trigger SQL con le Azure Function