La maggior parte delle applicazioni sviluppate con Windows Phone (e non solo) adotta il pattern MVVM.
Per mantenere "attiva" la comunicazione tra View e ViewModel, quest'ultimo deve implementare un meccanismo per informare la View dei propri cambiamenti di stato, che consiste nell'implementare l'interfaccia INotifyPropertyChanged: la relativa implementazione è però un meccanismo ripetitivo, che distrae lo sviluppatore.
Esistono però librerie come PropertyChanged.Fody, che snelliscono questo compito e lo rendono semplice e rapido, creando al nostro posto tutto il codice necessario all'implementazione dell'interfaccia INotifyPropertyChanged.
Per prima cosa è necessario installare la libreria da NuGet, ad esempio con questo comando dalla console (o cercandolo dalla GUI):
PM> Install-Package PropertyChanged.Fody
Successivamente, dovremo decorare le nostre classi con l'attributo ImplementPropertyChanged:
[ImplementPropertyChanged]
public class Person
{
public string Name { get; set; }
public string Surname { get; set; }
public string FullName
{
get
{
return string.Format("{0} {1}", Name, Surname);
}
}
}In automatico avremo che le proprietà supporteranno la notifica del cambio del loro valore, senza necessità di esplicitare ogni volta il relativo codice.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Planning & Specification Driven Development + GitHub Copilot
Filtrare i dati in ASP.NET Core usando OpenTelemetry su Azure Monitor
Gestione dei codeowners in GitHub
Creare un extension method per applicare condizionalmente una Where in una query LINQ per Entity Framework
Configuratione e utilizzo .NET Aspire CLI
Arricchire l'interfaccia di .NET Aspire
Abilitare il rolling update su Azure Functions flex consumption
Interagire con Azure DevOps tramite MCP Server
Disabilitare la telemetria nella CLI di GitHub
Personalizzare i parametri del CSS Scroll Snap
Configurare OpenTelemetry per Application Insights su ASP.NET Core
Definire il metodo di rilascio in .NET Aspire


