J'aimerais ajouter une solution étendue qui permette également de créer une propriété dans ce style, qui prenne en charge les éléments suivants INotifyPropertyChanged
pour les modèles de vue :
public string Name
{
get => _name;
set
{
if (value == _name) return;
_name = value;
RaisePropertyChanged();
}
}
/// <summary>
/// Raises the <see cref="PropertyChanged"/> event for the given <paramref name="propertyName"/>.
///
/// The <see cref="NotifyPropertyChangedInvocatorAttribute"/> attribute is used
/// because of Resharper support for "to property with change notification":
/// https://www.jetbrains.com/help/resharper/Coding_Assistance__INotifyPropertyChanged_Support.html
/// </summary>
/// <param name="propertyName"></param>
[NotifyPropertyChangedInvocator]
public virtual void RaisePropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
Les étapes requises sont les suivantes :
- Installer le paquet Nuget "JetBrains.Annotations" dans le projet où se trouvent vos vos modèles de vue sont situés
- Utilisez le
[NotifyPropertyChangedInvocator]
sur la méthode où le PropertyChanged
l'événement est déclenché
- Après cela, l'option "Vers la propriété avec notification de changement" est disponible pour les propriétés de vos modèles de vue.
Voir aussi : Support de Jetbrains INotifyPropertyChanged