using MvvmScaffoldFrame48.DLL; using MvvmScaffoldFrame48.DLL.AuditTrail; using MvvmScaffoldFrame48.DLL.WindowsTools; using MvvmScaffoldFrame48.Model; using MvvmScaffoldFrame48.Model.StorageModel.AuditTrail; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Input; namespace MvvmScaffoldFrame48.ViewModel.ViewModel { public class CustomControlViewModel:BaseViewModel { #region 界面绑定属性 private bool _staticTest = false; public bool StaticTest { get { return _staticTest; } set { if (_staticTest != value) { _staticTest = value; OnPropertyChanged(nameof(StaticTest)); } } } private ObservableCollection _formulationItems = new ObservableCollection(); public ObservableCollection FormulationItems { get { return _formulationItems;} set { if (_formulationItems != value) { _formulationItems = value; OnPropertyChanged(nameof(FormulationItems)); } } } /// /// 状态1,用于测试按钮颜色切换 /// private bool _isActivated1; public bool IsActivated1 { get => _isActivated1; set { _isActivated1 = value; OnPropertyChanged(nameof(IsActivated1)); } } /// /// 状态2,用于测试按钮颜色切换 /// private bool _isActivated2; public bool IsActivated2 { get => _isActivated2; set { _isActivated2 = value; OnPropertyChanged(nameof(IsActivated2)); } } #endregion #region 界面绑定事件 public ICommand TestCommand { get; set; } public ICommand SwitchCommand { get; set; } public ICommand DoubleSwitchCommand { get; set; } #endregion #region 属性 #endregion #region 绑定用Action方法 private void Test(object obj) { StaticTest = !StaticTest; } private void DoubleSwitchButton(object obj) { IsActivated1 = !_isActivated1; IsActivated2 = !_isActivated2; } private void SwitchButton(object obj) { IsActivated2 = !_isActivated2; } #endregion #region 绑定用Predicate方法 private bool CanTrue(object obj) { return true; } #endregion #region 其他方法 public CustomControlViewModel() { TestCommand = new RelayCommand(Test, CanTrue); DoubleSwitchCommand = new RelayCommand(DoubleSwitchButton, CanTrue); SwitchCommand = new RelayCommand(SwitchButton, CanTrue); FormulationItems.Add("1"); } #endregion } }