feat(wpf): 添加Ploss和Qfod数据表格视图
This commit is contained in:
@@ -2,6 +2,7 @@ using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using CommunityToolkit.Mvvm.Input;
|
||||
using CommunityToolkit.Mvvm.Messaging;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using System.Windows;
|
||||
using WCTDataMiner.Core.Services;
|
||||
using WCTDataMiner.Wpf.Messages;
|
||||
|
||||
@@ -12,7 +13,9 @@ namespace WCTDataMiner.Wpf.ViewModels;
|
||||
/// </summary>
|
||||
public partial class MainViewModel : ObservableObject,
|
||||
IRecipient<NavigateToPlossChartMessage>,
|
||||
IRecipient<NavigateToQfodChartMessage>
|
||||
IRecipient<NavigateToQfodChartMessage>,
|
||||
IRecipient<NavigateToPlossTableMessage>,
|
||||
IRecipient<NavigateToQfodTableMessage>
|
||||
{
|
||||
private readonly ImportViewModel _importViewModel;
|
||||
private readonly ScenarioListViewModel _scenarioListViewModel;
|
||||
@@ -59,6 +62,8 @@ public partial class MainViewModel : ObservableObject,
|
||||
// 注册导航消息订阅
|
||||
WeakReferenceMessenger.Default.Register<NavigateToPlossChartMessage>(this);
|
||||
WeakReferenceMessenger.Default.Register<NavigateToQfodChartMessage>(this);
|
||||
WeakReferenceMessenger.Default.Register<NavigateToPlossTableMessage>(this);
|
||||
WeakReferenceMessenger.Default.Register<NavigateToQfodTableMessage>(this);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -120,9 +125,12 @@ public partial class MainViewModel : ObservableObject,
|
||||
/// </summary>
|
||||
public void Receive(NavigateToPlossChartMessage message)
|
||||
{
|
||||
var vm = _serviceProvider.GetRequiredService<PlossChartViewModel>();
|
||||
vm.ScenarioId = message.ScenarioId;
|
||||
CurrentView = vm;
|
||||
Application.Current.Dispatcher.InvokeAsync(() =>
|
||||
{
|
||||
var vm = _serviceProvider.GetRequiredService<PlossChartViewModel>();
|
||||
vm.ScenarioId = message.ScenarioId;
|
||||
CurrentView = vm;
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -130,8 +138,37 @@ public partial class MainViewModel : ObservableObject,
|
||||
/// </summary>
|
||||
public void Receive(NavigateToQfodChartMessage message)
|
||||
{
|
||||
var vm = _serviceProvider.GetRequiredService<QfodChartViewModel>();
|
||||
vm.ScenarioId = message.ScenarioId;
|
||||
CurrentView = vm;
|
||||
Application.Current.Dispatcher.InvokeAsync(() =>
|
||||
{
|
||||
var vm = _serviceProvider.GetRequiredService<QfodChartViewModel>();
|
||||
vm.ScenarioId = message.ScenarioId;
|
||||
CurrentView = vm;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 接收导航到 Ploss 表格消息
|
||||
/// </summary>
|
||||
public void Receive(NavigateToPlossTableMessage message)
|
||||
{
|
||||
Application.Current.Dispatcher.InvokeAsync(() =>
|
||||
{
|
||||
var vm = _serviceProvider.GetRequiredService<PlossTableViewModel>();
|
||||
vm.ScenarioId = message.ScenarioId;
|
||||
CurrentView = vm;
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 接收导航到 Qfod 表格消息
|
||||
/// </summary>
|
||||
public void Receive(NavigateToQfodTableMessage message)
|
||||
{
|
||||
Application.Current.Dispatcher.InvokeAsync(() =>
|
||||
{
|
||||
var vm = _serviceProvider.GetRequiredService<QfodTableViewModel>();
|
||||
vm.ScenarioId = message.ScenarioId;
|
||||
CurrentView = vm;
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user