MainViewModel.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. using MvvmScaffoldFrame48.DLL;
  2. using MvvmScaffoldFrame48.Model;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Collections.ObjectModel;
  6. using System.ComponentModel;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Windows.Input;
  11. namespace MvvmScaffoldFrame48.ViewModel
  12. {
  13. public class MainViewModel : BaseViewModel
  14. {
  15. #region 界面绑定属性
  16. public ObservableCollection<UserModel> Users { get; set; }
  17. private string _name;
  18. public string Name
  19. {
  20. get { return _name; }
  21. set
  22. {
  23. if (_name != value)
  24. {
  25. _name = value;
  26. OnPropertyChanged(nameof(Name));
  27. }
  28. }
  29. }
  30. private string _email;
  31. public string Email
  32. {
  33. get { return _email; }
  34. set
  35. {
  36. if (_email != value)
  37. {
  38. _email = value;
  39. OnPropertyChanged(nameof(Email));
  40. }
  41. }
  42. }
  43. #endregion
  44. #region 界面绑定事件
  45. public ICommand AddUserCommand { get; set; }
  46. public ICommand TestCommand { get; set; }
  47. #endregion
  48. #region 属性
  49. #endregion
  50. #region 绑定用Action方法
  51. private void AddUser(object obj)
  52. {
  53. UserModel user = new UserModel();
  54. user.Name = Name;
  55. user.Email = Email;
  56. UserManager.AddUser(user);
  57. }
  58. private void Test(object obj)
  59. {
  60. Name = "小1";
  61. Email = "111@qq.com";
  62. }
  63. #endregion
  64. #region 绑定用Predicate方法
  65. private bool CanAddUser(object obj)
  66. {
  67. return true;
  68. }
  69. private bool CanTest(object obj)
  70. {
  71. return true;
  72. }
  73. #endregion
  74. #region 其他方法
  75. public MainViewModel()
  76. {
  77. Users = UserManager.GetUsers();
  78. AddUserCommand = new RelayCommand(AddUser, CanAddUser);
  79. TestCommand = new RelayCommand(Test, CanTest);
  80. }
  81. #endregion
  82. }
  83. }