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