feat(navigation): 重构导航系统引入导航参数和类型

- 新增NavigationType枚举定义导航类型
 - 新增NavigationParameter类用于传递导航参数
 - 重构INavigationService和INavigatable接口
 - 更新NavigationService实现以支持新的导航方式
 - 更新DeviceDetailViewModel, DevicesViewModel, VariableHistoryViewModel, VariableTableViewModel, MqttsViewModel等
 - 使ViewModelBase实现INavigatable接口
 - 更新MainView中的菜单选择导航逻辑
 - 优化VariableHistoryView界面布局,添加返回变量表按钮
This commit is contained in:
2025-10-03 22:28:58 +08:00
parent 1dbae9c208
commit 609c4741c1
14 changed files with 259 additions and 241 deletions

View File

@@ -1,5 +1,6 @@
// 文件: DMS.WPF/Services/INavigatable.cs
using DMS.Core.Models;
using DMS.WPF.ViewModels.Items;
namespace DMS.WPF.Interfaces;
@@ -13,5 +14,13 @@ public interface INavigatable
/// 当导航到此ViewModel时由导航服务调用此方法以传递参数。
/// </summary>
/// <param name="parameter">从导航源传递过来的参数对象。</param>
Task OnNavigatedToAsync(MenuItemViewModel menu);
Task OnNavigatedToAsync(NavigationParameter navigationParameter);
/// <summary>
/// 当从当前ViewModel导航离开时由导航服务调用此方法。
/// </summary>
/// <param name="nextViewModel">即将导航到的下一个ViewModel。</param>
Task OnNavigatedFromAsync(NavigationParameter navigationParameter);
}