diff --git a/DMS.WPF/Assets/AppIcon2.ico b/DMS.WPF/Assets/AppIcon2.ico
new file mode 100644
index 0000000..6c7fb71
Binary files /dev/null and b/DMS.WPF/Assets/AppIcon2.ico differ
diff --git a/DMS.WPF/DMS.WPF.csproj b/DMS.WPF/DMS.WPF.csproj
index db2515a..799a214 100644
--- a/DMS.WPF/DMS.WPF.csproj
+++ b/DMS.WPF/DMS.WPF.csproj
@@ -10,6 +10,7 @@
+
diff --git a/DMS.WPF/Services/INavigationService.cs b/DMS.WPF/Services/INavigationService.cs
index 2ca3a07..4b9f65f 100644
--- a/DMS.WPF/Services/INavigationService.cs
+++ b/DMS.WPF/Services/INavigationService.cs
@@ -15,8 +15,4 @@ public interface INavigationService
/// 要传递给目标ViewModel的参数。
Task NavigateToAsync(string viewKey, object parameter = null);
- ///
- /// 显示主窗口。
- ///
- Task ShowMainWindowAsync();
}
diff --git a/DMS.WPF/Services/NavigationService.cs b/DMS.WPF/Services/NavigationService.cs
index cca5932..efee813 100644
--- a/DMS.WPF/Services/NavigationService.cs
+++ b/DMS.WPF/Services/NavigationService.cs
@@ -48,20 +48,7 @@ public class NavigationService : INavigationService
mainViewModel.CurrentViewModel = viewModel;
}
- ///
- /// 显示主窗口。
- ///
- public Task ShowMainWindowAsync()
- {
- return App.Current.Dispatcher.InvokeAsync(() =>
- {
- var mainView = _serviceProvider.GetRequiredService();
- // 将 MainView 设置为新的主窗口
- App.Current.MainWindow = mainView;
- mainView.Show();
- })
- .Task;
- }
+
private Type GetViewModelTypeByKey(string key)
{
diff --git a/DMS.WPF/ViewModels/MainViewModel.cs b/DMS.WPF/ViewModels/MainViewModel.cs
index e6a7ace..ab8b477 100644
--- a/DMS.WPF/ViewModels/MainViewModel.cs
+++ b/DMS.WPF/ViewModels/MainViewModel.cs
@@ -28,7 +28,6 @@ public partial class MainViewModel : ViewModelBase
private readonly DataServices _dataServices;
private readonly IDialogService _dialogService;
private readonly ILogger _logger;
- private readonly NavgatorServices _navgatorServices;
///
/// 当前显示的视图模型。
@@ -49,22 +48,18 @@ public partial class MainViewModel : ViewModelBase
/// 数据服务。
/// 对话框服务。
/// 日志记录器。
- public MainViewModel(NavgatorServices navgatorServices, DataServices dataServices, IDialogService dialogService,
+ public MainViewModel(
ILogger 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(menus); };
+ // dataServices.OnMenuTreeListChanged += (menus) => { Menus = new ObservableCollection(menus); };
}
///
diff --git a/DMS.WPF/ViewModels/SplashViewModel.cs b/DMS.WPF/ViewModels/SplashViewModel.cs
index 4e74e13..343179a 100644
--- a/DMS.WPF/ViewModels/SplashViewModel.cs
+++ b/DMS.WPF/ViewModels/SplashViewModel.cs
@@ -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 设置为新的主窗口
+ App.Current.MainWindow = mainView;
+ mainView.Show();
return true;
}
catch (Exception ex)
{
// 处理初始化过程中的异常
LoadingMessage = $"初始化失败: {ex.Message}";
+ Console.WriteLine($"初始化失败: {ex.Message}");
// 在此可以记录日志或显示错误对话框
return false;
}
diff --git a/DMS.WPF/Views/MainView.xaml b/DMS.WPF/Views/MainView.xaml
index e188290..bb281cd 100644
--- a/DMS.WPF/Views/MainView.xaml
+++ b/DMS.WPF/Views/MainView.xaml
@@ -42,7 +42,7 @@
diff --git a/DMS.WPF/Views/MainView.xaml.cs b/DMS.WPF/Views/MainView.xaml.cs
index f9cc13a..7160b12 100644
--- a/DMS.WPF/Views/MainView.xaml.cs
+++ b/DMS.WPF/Views/MainView.xaml.cs
@@ -15,14 +15,12 @@ namespace DMS.WPF.Views;
public partial class MainView : Window
{
- private readonly DataServices _dataServices;
private MainViewModel _viewModel;
- public MainView(DataServices dataServices)
+ public MainView()
{
InitializeComponent();
_viewModel = App.Current.Services.GetRequiredService();
- _dataServices = dataServices;
DataContext = _viewModel;
NlogHelper.Info("主界面加载成功");
diff --git a/DMS.WPF/Views/SplashWindow.xaml b/DMS.WPF/Views/SplashWindow.xaml
index 74e264d..2c47bc5 100644
--- a/DMS.WPF/Views/SplashWindow.xaml
+++ b/DMS.WPF/Views/SplashWindow.xaml
@@ -10,7 +10,7 @@
-
+