using ModbusDemo.Model; using Prism.Commands; using Prism.Mvvm; using Prism.Regions; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ModbusDemo.VIewModel { /// /// 这个是MainWindow的ViewModel,用来支持数据绑定 /// public class MainWindowViewModel : BindableBase { //控制页面跳转 private readonly IRegionManager _regionManager; //定义页面跳转命令 public DelegateCommand NavigationCmm { get; set; } //定义跳转的列表 private List _leftMenusList; public List LeftMenusList { get { return _leftMenusList; } set { _leftMenusList = value; } } /// /// 空参构造,用于xaml的设计时展示 /// public MainWindowViewModel() { } /// /// /// /// public MainWindowViewModel(IRegionManager regionManager) { CreateLeftMenus(); _regionManager = regionManager; NavigationCmm = new DelegateCommand(Navigation); } private void Navigation(MenusInfo info) { _regionManager.Regions["ModbusRegion"].RequestNavigate(info.ViewName); } /// /// 初始化左下拉框 /// private void CreateLeftMenus() { LeftMenusList = new(); LeftMenusList.Add(new MenusInfo() { Icon = "AllInclusive", MenuName = "线圈操作", ViewName = "CoilUC" }); LeftMenusList.Add(new MenusInfo() { Icon = "BlurCircular", MenuName = "寄存器操作", ViewName = "RegisterUC" }); LeftMenusList.Add(new MenusInfo() { Icon = "Settings", MenuName = "串口设置", ViewName = "SettingsUC" }); } public void DefultNaigation() { _regionManager.Regions["ModbusRegion"].RequestNavigate("SettingsUC"); } } }