Quelle est la meilleure façon de faire des propriétés calculées dans le framework Prism MVVM? J'ai une Xamarin.Forms
application avec les propriétés suivantes sur une machine virtuelle:Propriétés calculées dans Prism
private string _title;
public string Title
{
get { return _title; }
set
{
SetProperty(ref _title, value);
OnPropertyChanged(() => Message);
}
}
private string _name = "John";
public string Name
{
get { return _name; }
set
{
SetProperty(ref _name, value);
OnPropertyChanged(() => Message);
}
}
public string Message
{
get { return String.Format("{0},{1}", Name, Title); }
}
Le code fonctionne très bien. Cependant, la bibliothèque Prism m'avertit sur les instructions OnPropertyChanged
pour utiliser RaisePropertyChanged
ce qui évitera l'utilisation de chaînes magiques et que OnPropertyChanged avec une expression est moins efficace.
Existe-t-il une autre méthode pour notifier l'affichage de relire "Message" lorsque le nom ou le titre change? Cela m'a amené à penser que peut-être Prism a un moyen de configurer les choses afin que "Nom" et "Titre" n'aient pas besoin d'être au courant du Message pour que le Message soit mis à jour. Ce serait préférable si possible. Quelle est la façon "Prism" de faire des propriétés calculées? Je ne trouve aucun exemple de cela dans leur documentation Xamarin.Forms
.
La ligne 'SetProperty (ref _name, value);' et le fait que tous les modèles de vue héritent de 'BindableBase' (une implémentation de' INotifyPropertyChanged') mettent déjà à jour l'interface utilisateur chaque fois que vous mettez à jour ces propriétés. Vous n'avez jamais besoin d'appeler explicitement 'RaisePropertyChanged' ou' OnPropertyChanged'. Par conséquent, vous devez faire de votre message une propriété comme Name. – ethane