I Behavior hanno reso possibile il riutilizzo di porzioni di codice, anche complesse, con pochi e semplici passaggi.
Tuttavia, può capitare l'esigenza in cui sia necessario richiamare programmaticamente il comportamento del Behavior: in questi casi la prima cosa da fare è recuperare i Behavior associati ad un oggetto e, successivamente, richiamarne uno dei membri.
Per recuperare tutti i Behavior associati ad un oggetto possiamo usare la classe Interaction (namespace System.Windows.Interactivity) e passare al metodo GetBehaviors l'oggetto interessato.
((MyBehavior)Interaction.GetBehaviors(MyTexBox).Last()).MyMethod();
Nello snippet precedente abbiamo recuperato l'ultimo Behavior associato alla TextBox (chiamata MyTexBox) e abbiamo richiamato il metodo MyMethod.
Poter recuperare i Behavior associati ad un oggetto programmaticamente è utile in tutti quei casi nei quali è impossibile determinare le condizioni di esecuzione di un Behavior, semplicemente solo con l'ausilio delle opzioni del behavior stesso, gestibili attraverso l'interfaccia di Expression Blend.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Build 2017: segui con noi tutte le novità mercoledì 10 e giovedì 11 maggio da Seattle!
Esportare i risultati di un'aggregazione MongoDb in ASP.NET Core
Usare AntiForgeryToken in uno scenario web farm con ASP.NET Core MVC
Auto scale delle Azure Web App con Application Insights
Applicare una classe CSS alla voce di menu attiva in un'applicazione Angular
.NET = .NET Core + .NET Framework + Xamarin + .NET Standard (.NET Conference Italia 2017)
Applicazioni desktop: da WPF a Universal Windows Platform con .NET Standard 2 (.NET Conference Italia 2017)
Utilizzare MongoDB con ASP.NET Core
Definire una relazione tra entity utilizzando foreign key e navigation properties con Entity Framework Core
Tecniche di alta disponibilità con Microsoft Azure
Configurazione tramite environment variable in ASP.NET Core
Applicare effetti di luce nella Universal Windows Platform