|
- 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
- {
- /// <summary>
- /// 这个是MainWindow的ViewModel,用来支持数据绑定
- /// </summary>
- public class MainWindowViewModel : BindableBase
- {
- //控制页面跳转
- private readonly IRegionManager _regionManager;
-
- //定义页面跳转命令
- public DelegateCommand<MenusInfo> NavigationCmm { get; set; }
- //定义跳转的列表
- private List<MenusInfo> _leftMenusList;
- public List<MenusInfo> LeftMenusList
- {
- get { return _leftMenusList; }
- set { _leftMenusList = value; }
- }
- /// <summary>
- /// 空参构造,用于xaml的设计时展示
- /// </summary>
- public MainWindowViewModel()
- {
-
- }
- /// <summary>
- ///
- /// </summary>
- /// <param name="regionManager"></param>
- public MainWindowViewModel(IRegionManager regionManager)
- {
- CreateLeftMenus();
- _regionManager = regionManager;
-
- NavigationCmm = new DelegateCommand<MenusInfo>(Navigation);
- }
- /// <summary>
- /// 视图导航
- /// </summary>
- /// <param name="info"></param>
- private void Navigation(MenusInfo info)
- {
- if(info != null)
- {
- _regionManager.Regions["ModbusRegion"].RequestNavigate(info.ViewName);
- }
-
- }
- /// <summary>
- /// 初始化左下拉框
- /// </summary>
- 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");
- }
- }
- }
|