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
Gestire il colore CSS con HWB
Creare una libreria CSS universale - Rotazione degli elementi
Creare un webhook in Azure DevOps
Effettuare il binding di date in Blazor
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Sfruttare al massimo i topic space di Event Grid MQTT
Gestione dell'annidamento delle regole dei layer in CSS
Ordinare randomicamente una lista in C#
Configurare e gestire sidecar container in Azure App Service
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Testare l'invio dei messaggi con Event Hubs Data Explorer
Applicare un filtro per recuperare alcune issue di GitHub