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
Definire il colore di una scrollbar HTML tramite CSS
Usare i generics di C# con la clausola nameof in modo semplificato
Integrare Agenti A2A in Azure API Management
Utilizzare il Null conditional assignment di C# 14
Gestione delle scrollbar dinamiche in HTML e CSS
Eliminare record doppi in Sql Server
Migrare applicazioni legacy nel cloud con Azure App Service Managed Instance
.NET Aspire per applicazioni distribuite
Evidenziare una porzione di testo in un pagina dopo una navigazione
Controllare la telemetria con .NET Aspire
Pubblicare un MCP Server in GitHub MCP Registry
Evitare memory leaks nelle closure JavaScript




