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 un metodo asincrono dopo il set di una proprietà in Blazor 8
Creare form tipizzati con Angular
Miglioramenti nelle performance di Angular 16
Utilizzare domini personalizzati gestiti automaticamente con Azure Container Apps
Gestire domini wildcard in Azure Container Apps
Utilizzare i primary constructor di C# per inizializzare le proprietà
Miglioramenti nell'accessibilità con Angular CDK
Assegnare un valore di default a un parametro di una lambda in C#
Hosting di componenti WebAssembly in un'applicazione Blazor static
Potenziare Azure AI Search con la ricerca vettoriale
Semplificare il deployment di siti statici con Azure Static Web App
Eseguire operazioni con timeout in React
I più letti di oggi
- Una SP che proprio mancava!
- Creare un calendario con Classic ASP
- Pulsanti di default, focus sui controlli e inibizione del PostBack con ASP.NET 2.0
- Salvare le immagini di Bing nella libreria delle immagini di Windows Phone 7
- Convertire un numero in Long
- Gestire gli eventi di tipo touch con HTML5
- Supportare l'identity resolution in una No-Tracking query di Entity Framework Core
- ASP.NET 1.0, MS03-32 e Windows XP: patch per correggere patch...
- Blazor and ASP.NET Core with GraphQL and HotChocolate
- Compattare un database Access con JRO, .NET e la Reflection