using System.ComponentModel;
using System.Windows;
using System.Windows.Input;
namespace SHH.CameraDashboard
{
///
/// 主窗口的视图模型 (ViewModel)。
/// 它封装了主窗口的所有业务逻辑、状态和用户交互命令。
/// 它还作为一个中心协调者,响应全局事件并管理子视图(如右侧编辑面板和蒙板)。
///
public class MainWindowViewModel : INotifyPropertyChanged
{
#region --- 构造函数 ---
///
/// 初始化 MainWindowViewModel 的新实例。
///
public MainWindowViewModel()
{
#region 窗体控制命令
// 最小化窗口控制命令
MinimizeCommand = new RelayCommand(win =>
{
if (win != null)
{
win.WindowState = WindowState.Minimized;
}
});
// 最大化、还原命令
ToggleMaximizeCommand = new RelayCommand(win =>
{
if (win == null) return;
if (win.WindowState == WindowState.Maximized)
{
win.WindowState = WindowState.Normal;
MaxButtonContent = "⬜";
}
else
{
win.WindowState = WindowState.Maximized;
MaxButtonContent = "❐";
}
});
// 关闭应用程序命令
CloseCommand = new RelayCommand(win =>
{
App.ShutdownApp();
});
// 窗体置顶
ToggleTopMostCommand = new RelayCommand