using CommunityToolkit.Mvvm.ComponentModel; using InfineonHMI.Common; namespace Common; public sealed partial class ParamControlIntVm : ObservableValidator, IDisposable, IChangeTrackingEx { private int initValue; [ObservableProperty] private string sName; [ObservableProperty] private int value; public ParamControlIntVm() { SName = "No Name:"; Value = 0; initValue = Value; } public void Dispose() { } public void AcceptChanges() { initValue = Value; } public bool IsChanged => initValue != Value; public void DiscardChanges() { Value = initValue; } }