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)
{
if(info != null)
{
_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" });
LeftMenusList.Add(new MenusInfo() { Icon = "AddCircle", MenuName = "附加功能", ViewName = "AttachUC" });
}
public void DefultNaigation()
{
_regionManager.Regions["ModbusRegion"].RequestNavigate("SettingsUC");
}
}
}