using System.ComponentModel; using System.Runtime.CompilerServices; using Configuration.Annotations; namespace Configuration { public class Navigation : INotifyPropertyChanged { private int _frequencyStep = 100; private bool _mouseScrollSound = true; public int FrequencyStep { get => _frequencyStep; set { if (value == _frequencyStep) return; _frequencyStep = value; OnPropertyChanged(); } } public bool MouseScrollSound { get => _mouseScrollSound; set { if (value == _mouseScrollSound) return; _mouseScrollSound = value; OnPropertyChanged(); } } public event PropertyChangedEventHandler PropertyChanged; [NotifyPropertyChangedInvocator] protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } } }