diff --git a/yy-admin-master/YY.Admin/Module/TabSource.cs b/yy-admin-master/YY.Admin/Module/TabSource.cs index 264fba3..f5e4a0b 100644 --- a/yy-admin-master/YY.Admin/Module/TabSource.cs +++ b/yy-admin-master/YY.Admin/Module/TabSource.cs @@ -5,15 +5,27 @@ namespace YY.Admin.Module { public class TabSource : BindableBase { + private string? _name; + /// /// 名称 /// - public virtual string? Name { get; set; } + public virtual string? Name + { + get => _name; + set => SetProperty(ref _name, value); + } + + private string? _icon; /// /// 图标 /// - public virtual string? Icon { get; set; } + public virtual string? Icon + { + get => _icon; + set => SetProperty(ref _icon, value); + } /// /// 图标类型 diff --git a/yy-admin-master/YY.Admin/ViewModels/MainWindowViewModel.cs b/yy-admin-master/YY.Admin/ViewModels/MainWindowViewModel.cs index 14ae828..73c958d 100644 --- a/yy-admin-master/YY.Admin/ViewModels/MainWindowViewModel.cs +++ b/yy-admin-master/YY.Admin/ViewModels/MainWindowViewModel.cs @@ -165,6 +165,18 @@ namespace YY.Admin.ViewModels set => SetProperty(ref _isAppSettingsOpen, value); } + /// + /// 为 true 时隐藏左侧功能菜单树(次级侧栏) + /// + private bool _isMenuTreePanelCollapsed; + public bool IsMenuTreePanelCollapsed + { + get => _isMenuTreePanelCollapsed; + set => SetProperty(ref _isMenuTreePanelCollapsed, value); + } + + private NavItem? _menuTreeToggleNavItem; + private AppSettingsViewModel? _appSettingsViewModel; public AppSettingsViewModel? AppSettingsViewModel { get => _appSettingsViewModel; @@ -175,6 +187,7 @@ namespace YY.Admin.ViewModels public ICommand ResetAppSettingsCommand { get; } public ICommand OpenAppSettingsCommand { get; } public ICommand OpenServerSettingsCommand { get; } + public ICommand ToggleMenuTreePanelCommand { get; } #endregion @@ -212,6 +225,7 @@ namespace YY.Admin.ViewModels OpenAppSettingsCommand = new DelegateCommand(OpenAppSettings); ResetAppSettingsCommand = new DelegateCommand(ResetAppSettings); OpenServerSettingsCommand = new DelegateCommand(OpenServerSettings); + ToggleMenuTreePanelCommand = new DelegateCommand(ToggleMenuTreePanel); // 初始化Sidebar数据 InitNavItems(); @@ -300,6 +314,13 @@ namespace YY.Admin.ViewModels Name = "Tab区域", Command = new DelegateCommand(OnOpenOrActivateTab) }, + (_menuTreeToggleNavItem = new NavItem { + Icon = "ChevronDoubleLeft", + Name = "折叠菜单", + AlignBottom = true, + IsActive = false, + Command = ToggleMenuTreePanelCommand + }), new NavItem { Icon = "Server", Name = "服务器设置", @@ -678,6 +699,29 @@ namespace YY.Admin.ViewModels } } + /// + /// 折叠 / 展示左侧菜单树区域 + /// + private void ToggleMenuTreePanel() + { + IsMenuTreePanelCollapsed = !IsMenuTreePanelCollapsed; + if (_menuTreeToggleNavItem == null) + { + return; + } + + if (IsMenuTreePanelCollapsed) + { + _menuTreeToggleNavItem.Name = "展示菜单"; + _menuTreeToggleNavItem.Icon = "ChevronDoubleRight"; + } + else + { + _menuTreeToggleNavItem.Name = "折叠菜单"; + _menuTreeToggleNavItem.Icon = "ChevronDoubleLeft"; + } + } + private void OpenServerSettings() { _dialogService.ShowDialog("ServerSettingsDialog", r => diff --git a/yy-admin-master/YY.Admin/Views/MainWindow.xaml b/yy-admin-master/YY.Admin/Views/MainWindow.xaml index 8a4465d..bc3b839 100644 --- a/yy-admin-master/YY.Admin/Views/MainWindow.xaml +++ b/yy-admin-master/YY.Admin/Views/MainWindow.xaml @@ -145,12 +145,34 @@ - - + + + + + + + + + + @@ -159,6 +181,16 @@ BorderThickness="0,0,1,0" BorderBrush="{DynamicResource BorderBrush}" Background="{DynamicResource RegionBrush}"> + + + @@ -170,7 +202,18 @@ ShowsPreview="True" Cursor="SizeWE" Background="{DynamicResource RegionBrush}" - PreviewStyle="{StaticResource GridSplitterPreviewStyle}"/> + PreviewStyle="{StaticResource GridSplitterPreviewStyle}"> + + + +