添加项目文件。

This commit is contained in:
hsc
2025-12-18 17:26:20 +08:00
parent 942fef0e13
commit 69aaa5c4e5
40 changed files with 2053 additions and 0 deletions

View File

@@ -0,0 +1,94 @@
using BaseFrame.Views;
using MaterialDesignThemes.Wpf;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Input;
namespace BaseFrame.ViewModels
{
public class ShellViewModel : BindableBase
{
#region
private bool _IsLeftDrawerOpen;
public bool IsLeftDrawerOpen
{
get => _IsLeftDrawerOpen;
set => SetProperty(ref _IsLeftDrawerOpen, value);
}
#endregion
#region
public ICommand LeftDrawerOpenCommand { get; set; }
public ICommand MinimizeCommand { get; set; }
public ICommand MaximizeCommand { get; set; }
public ICommand CloseCommand { get; set; }
public ICommand NavigateCommand { get; set; }
#endregion
private IEventAggregator _eventAggregator;
private IRegionManager _regionManager;
public ShellViewModel( IContainerProvider containerProvider)
{
_eventAggregator = containerProvider.Resolve<IEventAggregator>();
_regionManager = containerProvider.Resolve<IRegionManager>();
LeftDrawerOpenCommand = new DelegateCommand(LeftDrawerOpen);
MinimizeCommand = new DelegateCommand<Window>(MinimizeWindow);
MaximizeCommand = new DelegateCommand<Window>(MaximizeWindow);
CloseCommand = new DelegateCommand<Window>(CloseWindow);
NavigateCommand = new DelegateCommand<string>(Navigate);
}
#region
private void Navigate(string content)
{
switch (content)
{
case "监控界面":
_regionManager.RequestNavigate("ShellViewManager", "MonitorView");
break;
case "设置界面":
_regionManager.RequestNavigate("ShellViewManager", "SettingView");
break;
case "更新界面":
_regionManager.RequestNavigate("ShellViewManager", "UpdateInfoView");
break;
default:
break;
}
}
private void LeftDrawerOpen()
{
IsLeftDrawerOpen = true;
}
private void MinimizeWindow(Window window)
{
if (window != null)
window.WindowState = WindowState.Minimized;
}
private void MaximizeWindow(Window window)
{
if (window != null)
{
window.WindowState = window.WindowState == WindowState.Maximized ? WindowState.Normal : WindowState.Maximized;
}
}
private void CloseWindow(Window window)
{
window?.Close();
}
#endregion
}
}