项目要求更改
This commit is contained in:
@@ -6,24 +6,28 @@ using CapMachine.Wpf.Services;
|
||||
using Prism.Commands;
|
||||
using Prism.Events;
|
||||
using Prism.Regions;
|
||||
using System;
|
||||
using System.Windows;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace CapMachine.Wpf.ViewModels
|
||||
{
|
||||
public class MainViewModel : NavigationViewModel
|
||||
{
|
||||
public MainViewModel(IRegionManager region, INavigationMenuService menuService, SysRunService sysService, IEventAggregator eventAggregator)
|
||||
public MainViewModel(IRegionManager region, INavigationMenuService menuService, SysRunService sysService, IEventAggregator eventAggregator, ConfigService configService)
|
||||
{
|
||||
this.region = region;
|
||||
MenuService = menuService;
|
||||
SysService = sysService;
|
||||
EventAggregator = eventAggregator;
|
||||
ConfigService = configService;
|
||||
NavigateCommand = new DelegateCommand<NavigationItem>(Navigate);
|
||||
}
|
||||
|
||||
public INavigationMenuService MenuService { get; }
|
||||
public SysRunService SysService { get; }
|
||||
public IEventAggregator EventAggregator { get; }
|
||||
public ConfigService ConfigService { get; }
|
||||
public DelegateCommand<NavigationItem> NavigateCommand { get; private set; }
|
||||
|
||||
private int selectedIndex = -1;
|
||||
@@ -59,11 +63,43 @@ namespace CapMachine.Wpf.ViewModels
|
||||
return;
|
||||
}
|
||||
|
||||
if (!CanNavigate(item.PageName))
|
||||
{
|
||||
IsTopDrawerOpen = false;
|
||||
return;
|
||||
}
|
||||
|
||||
NavigatePage(item.PageName);
|
||||
|
||||
IsTopDrawerOpen = false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 校验当前页面是否允许导航
|
||||
/// </summary>
|
||||
/// <param name="pageName">目标页面名称</param>
|
||||
/// <returns>true允许导航,false禁止导航</returns>
|
||||
private bool CanNavigate(string pageName)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(pageName))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (pageName.Equals("UserManageView", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (ConfigService.IsUserLoggedIn)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
MessageBox.Show("请先登录用户,再切换到其他界面!", "提示");
|
||||
return false;
|
||||
}
|
||||
|
||||
private DelegateCommand<string> _TopDrawerCmd;
|
||||
/// <summary>
|
||||
/// 顶部弹窗按钮命令
|
||||
|
||||
Reference in New Issue
Block a user