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

@@ -6,6 +6,7 @@ using DMS.Application.DTOs;
using DMS.Application.Interfaces;
using DMS.Application.Interfaces.Database;
using DMS.Core.Enums;
using DMS.Core.Models;
using DMS.WPF.Interfaces;
using DMS.WPF.Services;
using DMS.WPF.ViewModels.Dialogs;
@@ -177,12 +178,13 @@ public partial class MqttsViewModel : ViewModelBase
}
// 导航到MQTT服务器详情页
var menu = new MenuItemViewModel
{
TargetViewKey = "MqttServerDetailView",
TargetId = SelectedMqtt.Id
};
await _navigationService.NavigateToAsync(menu);
// var menu = new MenuItemViewModel
// {
// TargetViewKey = "MqttServerDetailView",
// TargetId = SelectedMqtt.Id
// };
await _navigationService.NavigateToAsync(
this, new NavigationParameter(nameof(MqttServerDetailViewModel), SelectedMqtt.Id, NavigationType.Mqtt));
}
}