清理引用,将NavigatorServices更改为使用Message来实现导航的切换

This commit is contained in:
2025-06-23 17:01:06 +08:00
parent 8ee4b7bc05
commit 8fcd2fdf2a
62 changed files with 711 additions and 767 deletions

View File

@@ -1,26 +1,37 @@
using System.ComponentModel;
using System.Windows;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Messaging;
using Microsoft.Extensions.DependencyInjection;
using PMSWPF.Message;
using PMSWPF.ViewModels;
namespace PMSWPF.Services;
public class NavgatorServices
public class NavgatorServices : ObservableRecipient, IRecipient<NavgatorMessage>
{
private ViewModelBase currentViewModel;
public NavgatorServices()
{
IsActive = true;
}
public ViewModelBase CurrentViewModel
{
get { return currentViewModel; }
get => currentViewModel;
set
{
currentViewModel = value;
currentViewModel = value;
OnViewModelChanged?.Invoke();
currentViewModel.OnLoaded();
}
}
public event Action OnViewModelChanged ;
public void Receive(NavgatorMessage message)
{
CurrentViewModel = message.Value;
}
public event Action OnViewModelChanged;
public void NavigateTo<T>() where T : ViewModelBase
{