using CommunityToolkit.Mvvm.ComponentModel; using MultiTerm.Protocols.Model; namespace MultiTerm.Core.ViewModel; public partial class CharacterDataViewModel : ObservableObject, IDataViewModel { /// /// Object of data model. /// private readonly ExtendedChar character; #region IDataViewModel Implementation [ObservableProperty] private int lineIdentifier; [ObservableProperty] private TimeOnly time; [ObservableProperty] private string displayString = String.Empty; [ObservableProperty] private string displayStringHex = String.Empty; [ObservableProperty] private string displayStringBin = String.Empty; #endregion /// /// Allows access to character of this instance. /// public char Character { get { return this.character.Character; } } public CharacterDataViewModel(ExtendedChar character, int lineIdentifier) { this.character = character; this.lineIdentifier = lineIdentifier; this.DisplayString = character.ToUtf16String(); this.DisplayStringHex = character.ToHexString(); this.DisplayStringBin = character.ToBinaryString(); this.Time = character.Time; } }