feat(navigation): 重构导航系统引入导航参数和类型
- 新增NavigationType枚举定义导航类型 - 新增NavigationParameter类用于传递导航参数 - 重构INavigationService和INavigatable接口 - 更新NavigationService实现以支持新的导航方式 - 更新DeviceDetailViewModel, DevicesViewModel, VariableHistoryViewModel, VariableTableViewModel, MqttsViewModel等 - 使ViewModelBase实现INavigatable接口 - 更新MainView中的菜单选择导航逻辑 - 优化VariableHistoryView界面布局,添加返回变量表按钮
This commit is contained in:
@@ -4,6 +4,8 @@ using DMS.WPF.ViewModels;
|
||||
using iNKORE.UI.WPF.Modern.Controls;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using DMS.Core.Enums;
|
||||
using DMS.Core.Models;
|
||||
using DMS.WPF.Interfaces;
|
||||
using DMS.WPF.ViewModels.Items;
|
||||
|
||||
namespace DMS.WPF.Views;
|
||||
@@ -60,7 +62,24 @@ public partial class MainView : Window
|
||||
var menu = args.SelectedItem as MenuItemViewModel;
|
||||
if (menu != null)
|
||||
{
|
||||
await _viewModel.MenuSelectionChanged(menu);
|
||||
|
||||
NavigationType navigationType = NavigationType.None;
|
||||
switch (menu.MenuType)
|
||||
{
|
||||
case MenuType.DeviceMenu:
|
||||
navigationType=NavigationType.Device;
|
||||
break;
|
||||
case MenuType.VariableTableMenu:
|
||||
navigationType=NavigationType.VariableTable;
|
||||
break;
|
||||
case MenuType.MqttMenu:
|
||||
navigationType=NavigationType.Mqtt;
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
var navigationService= App.Current.Services.GetRequiredService<INavigationService>();
|
||||
navigationService.NavigateToAsync(this,new NavigationParameter(menu.TargetViewKey,menu.TargetId,navigationType));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user