添加抽屉状态是打开则不能退出及操作其他菜单

This commit is contained in:
maqiao 2024-07-19 15:39:14 +08:00
parent f43e691ee0
commit 0eaf740192
2 changed files with 96 additions and 60 deletions

View File

@ -25,6 +25,8 @@ using System.Threading;
using DM_Weight.msg; using DM_Weight.msg;
using log4net.Core; using log4net.Core;
using DM_Weight.Services; using DM_Weight.Services;
using MaterialDesignThemes.Wpf;
using System.Windows.Media;
namespace DM_Weight.ViewModels namespace DM_Weight.ViewModels
{ {
@ -43,6 +45,20 @@ namespace DM_Weight.ViewModels
{ {
get => loginMode == 2; get => loginMode == 2;
} }
private SolidColorBrush _colorBrush;
public SolidColorBrush SnackbarBackground
{
get => _colorBrush;
set => SetProperty(ref _colorBrush, value);
}
private ISnackbarMessageQueue _snackbarMessageQueue = new SnackbarMessageQueue(TimeSpan.FromSeconds(3));
public ISnackbarMessageQueue SnackbarMessageQueue
{
get => _snackbarMessageQueue;
set => SetProperty(ref _snackbarMessageQueue, value);
}
private PremissionDm? _selectedMenu; private PremissionDm? _selectedMenu;
@ -190,7 +206,14 @@ namespace DM_Weight.ViewModels
// SelectedChildMenu = value.Children[0]; // SelectedChildMenu = value.Children[0];
// } // }
//} //}
if (!_portUtil.Operate)
SetProperty(ref _selectedMenu, value); SetProperty(ref _selectedMenu, value);
else
{
logger.Info($"未关闭抽屉切换菜单");
SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
SnackbarMessageQueue.Enqueue("请关闭抽屉后再切换菜单");
}
} }
} }
@ -205,6 +228,8 @@ namespace DM_Weight.ViewModels
logger.Info("开始进入父菜单"); logger.Info("开始进入父菜单");
//SelectedMenu = viewName.SelectedItem as PremissionDm; //SelectedMenu = viewName.SelectedItem as PremissionDm;
if (SelectedMenu != null && SelectedMenu.PremissionName == "退出") if (SelectedMenu != null && SelectedMenu.PremissionName == "退出")
{
if (!_portUtil.Operate)
{ {
logger.Info($"用户【{Operator?.Nickname}】退出登录"); logger.Info($"用户【{Operator?.Nickname}】退出登录");
Operator = null; Operator = null;
@ -212,6 +237,14 @@ namespace DM_Weight.ViewModels
_regionManager.RequestNavigate("MainRegion", "LoginWindow"); _regionManager.RequestNavigate("MainRegion", "LoginWindow");
} }
else else
{
logger.Info($"未关闭抽屉操作退出");
SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
SnackbarMessageQueue.Enqueue("请关闭抽屉后再退出");
return;
}
}
else
{ {
//SelectedMenu.Children = SelectedMenu.Children; //SelectedMenu.Children = SelectedMenu.Children;
//SelectedChildMenu = SelectedMenu.Children[0]; //SelectedChildMenu = SelectedMenu.Children[0];

View File

@ -150,6 +150,9 @@
</Grid> </Grid>
<materialDesign:Snackbar HorizontalAlignment="Center" VerticalAlignment="Center"
Background="{Binding SnackbarBackground}"
MessageQueue="{Binding SnackbarMessageQueue}"/>
</Grid> </Grid>
</UserControl> </UserControl>