using Awsomeness.Core; using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Awesomeness.GUI.ViewModels; partial class MainViewModel : ObservableObject { private Person _person; public MainViewModel() { _person = new Person(); } [ObservableProperty] [NotifyCanExecuteChangedFor(nameof(ResetNameCommand))] private string firstName = String.Empty; [RelayCommand(CanExecute = nameof(CanResetName))] private void ResetName() { FirstName = String.Empty; } private bool CanResetName() { return FirstName != String.Empty; } [RelayCommand] private void SetName() { _person.FirstName = FirstName; } [RelayCommand] private void GetName() { FirstName = _person.FirstName; } }