DataBoxViewModel.cs 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using CommunityToolkit.Mvvm.ComponentModel;
  2. using CommunityToolkit.Mvvm.Input;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Collections.ObjectModel;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace Awesomeness.GUI.ViewModels;
  10. public partial class DataBoxViewModel : ObservableObject
  11. {
  12. [ObservableProperty]
  13. public string aFantasticString = "Awesome!";
  14. public ObservableCollection<User> Users { get; } = new();
  15. public DataBoxViewModel()
  16. {
  17. // Generate 10 random users
  18. var random = new Random();
  19. for (int i = 0; i < 10; i++)
  20. {
  21. Users.Add(new User
  22. {
  23. Name = $"User {i}",
  24. Age = random.Next(18, 100)
  25. });
  26. }
  27. }
  28. [RelayCommand]
  29. public void AddUser()
  30. {
  31. Users.Add(new User
  32. {
  33. Name = "New User",
  34. Age = 42
  35. });
  36. }
  37. [RelayCommand]
  38. public void RemoveUser(User user)
  39. {
  40. Users.Remove(user);
  41. }
  42. }