给Menu菜单绑定对应的数据

This commit is contained in:
2025-06-30 13:06:51 +08:00
parent 6aa17e7396
commit edd4798e09
10 changed files with 177 additions and 35 deletions

View File

@@ -33,8 +33,8 @@ public partial class DevicesViewModel : ViewModelBase
_logger = logger;
_dialogService = dialogService;
_dataServices = dataServices;
WeakReferenceMessenger.Default.Send<LoadMessage>(new LoadMessage(LoadTypes.Devices));
MessageHelper.SendLoadMessage(LoadTypes.Devices);
_dataServices.OnDeviceListChanged += (devices) => { Devices = new ObservableCollection<Device>(devices); };
}
@@ -51,7 +51,8 @@ public partial class DevicesViewModel : ViewModelBase
device = await _dialogService.ShowAddDeviceDialog();
if (device != null)
{
if (await _deviceRepository.Add(device))
device= await _deviceRepository.Add(device);
if (device!=null)
{
var msg = $"添加设备成功:{device.Name}";
_logger.LogInformation(msg);
@@ -60,7 +61,7 @@ public partial class DevicesViewModel : ViewModelBase
if (addMenuRes)
{
// 通知更新菜单
WeakReferenceMessenger.Default.Send<UpdateMenuMessage>(new UpdateMenuMessage(0));
MessageHelper.SendLoadMessage(LoadTypes.Menu);
NotificationHelper.ShowMessage(msg, NotificationType.Success);
}
else
@@ -82,7 +83,7 @@ public partial class DevicesViewModel : ViewModelBase
{
var msg = $"添加设备失败:{e.Message}";
_logger.LogError(msg);
NotificationHelper.ShowMessage(msg, NotificationType.Success);
NotificationHelper.ShowMessage(msg, NotificationType.Error);
}
}

View File

@@ -5,6 +5,7 @@ using CommunityToolkit.Mvvm.Messaging;
using PMSWPF.Data.Entities;
using PMSWPF.Data.Repositories;
using PMSWPF.Enums;
using PMSWPF.Helper;
using PMSWPF.Message;
using PMSWPF.Models;
using PMSWPF.Services;
@@ -28,10 +29,12 @@ public partial class MainViewModel : ViewModelBase
_dataServices = dataServices;
_navgatorServices.OnViewModelChanged += () => { CurrentViewModel = _navgatorServices.CurrentViewModel; };
CurrentViewModel = new HomeViewModel();
CurrentViewModel.OnLoaded();
WeakReferenceMessenger.Default.Send<LoadMessage>(new LoadMessage(LoadTypes.Menu));
// 发送消息加载数据
MessageHelper.SendLoadMessage(LoadTypes.All);
// 当菜单加载成功后,在前台显示菜单
dataServices.OnMenuListChanged += (menus) =>
{
Menus = new ObservableCollection<MenuBean>(menus);