MainViewModel.cs 2.1 KB

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