完成显示主界面
This commit is contained in:
@@ -28,7 +28,6 @@ public partial class MainViewModel : ViewModelBase
|
||||
private readonly DataServices _dataServices;
|
||||
private readonly IDialogService _dialogService;
|
||||
private readonly ILogger<MainViewModel> _logger;
|
||||
private readonly NavgatorServices _navgatorServices;
|
||||
|
||||
/// <summary>
|
||||
/// 当前显示的视图模型。
|
||||
@@ -49,22 +48,18 @@ public partial class MainViewModel : ViewModelBase
|
||||
/// <param name="dataServices">数据服务。</param>
|
||||
/// <param name="dialogService">对话框服务。</param>
|
||||
/// <param name="logger">日志记录器。</param>
|
||||
public MainViewModel(NavgatorServices navgatorServices, DataServices dataServices, IDialogService dialogService,
|
||||
public MainViewModel(
|
||||
ILogger<MainViewModel> logger)
|
||||
{
|
||||
_navgatorServices = navgatorServices;
|
||||
_dataServices = dataServices;
|
||||
_dialogService = dialogService;
|
||||
// _dataServices = dataServices;
|
||||
_logger = logger;
|
||||
|
||||
_navgatorServices.OnViewModelChanged += () => { CurrentViewModel = _navgatorServices.CurrentViewModel; };
|
||||
|
||||
CurrentViewModel = new HomeViewModel();
|
||||
CurrentViewModel.OnLoaded();
|
||||
// 发送消息加载数据
|
||||
MessageHelper.SendLoadMessage(LoadTypes.All);
|
||||
// 当菜单加载成功后,在前台显示菜单
|
||||
dataServices.OnMenuTreeListChanged += (menus) => { Menus = new ObservableCollection<MenuBean>(menus); };
|
||||
// dataServices.OnMenuTreeListChanged += (menus) => { Menus = new ObservableCollection<MenuBean>(menus); };
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -6,6 +6,8 @@ using DMS.WPF.Services;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using DMS.Application.Services;
|
||||
using DMS.WPF.Views;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace DMS.WPF.ViewModels;
|
||||
|
||||
@@ -38,24 +40,27 @@ public partial class SplashViewModel : ObservableObject
|
||||
|
||||
LoadingMessage = "正在加载系统配置...";
|
||||
// 可以在这里添加加载配置的逻辑
|
||||
await Task.Delay(1500); // 模拟耗时
|
||||
await Task.Delay(500); // 模拟耗时
|
||||
|
||||
LoadingMessage = "正在连接后台服务...";
|
||||
// 可以在这里添加连接服务的逻辑
|
||||
await Task.Delay(1500); // 模拟耗时
|
||||
await Task.Delay(500); // 模拟耗时
|
||||
|
||||
LoadingMessage = "加载完成,正在启动主界面...";
|
||||
await Task.Delay(1500);
|
||||
await Task.Delay(500);
|
||||
|
||||
// 初始化完成,显示主窗口
|
||||
var navigationService = (INavigationService)_serviceProvider.GetService(typeof(INavigationService));
|
||||
await navigationService.ShowMainWindowAsync();
|
||||
var mainView = App.Current.Services.GetRequiredService<MainView>();
|
||||
// 将 MainView 设置为新的主窗口
|
||||
App.Current.MainWindow = mainView;
|
||||
mainView.Show();
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// 处理初始化过程中的异常
|
||||
LoadingMessage = $"初始化失败: {ex.Message}";
|
||||
Console.WriteLine($"初始化失败: {ex.Message}");
|
||||
// 在此可以记录日志或显示错误对话框
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user