2026-03-02 18:50:30 +08:00
|
|
|
|
using MembranePoreTester.ViewModels;
|
|
|
|
|
|
using System.Windows;
|
2026-03-24 19:33:35 +08:00
|
|
|
|
using System.Windows.Input;
|
2026-02-27 16:03:49 +08:00
|
|
|
|
|
|
|
|
|
|
namespace MembranePoreTester.Views
|
|
|
|
|
|
{
|
|
|
|
|
|
public partial class MainWindow : Window
|
|
|
|
|
|
{
|
|
|
|
|
|
public MainWindow()
|
|
|
|
|
|
{
|
|
|
|
|
|
InitializeComponent();
|
2026-03-02 18:50:30 +08:00
|
|
|
|
HistoryWindow.LoadRecordEvent += OnLoadRecord;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void OnLoadRecord(object sender, LoadRecordEventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
var mainVM = DataContext as MainViewModel;
|
|
|
|
|
|
if (mainVM == null) return;
|
|
|
|
|
|
|
|
|
|
|
|
// 根据工位和类型找到对应的 ViewModel
|
|
|
|
|
|
if (e.Type == "泡点法")
|
|
|
|
|
|
{
|
|
|
|
|
|
var targetVM = mainVM.Stations[e.TargetStation - 1].BubblePointVM;
|
|
|
|
|
|
targetVM.LoadFromDatabase(e.RecordId);
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
var targetVM = mainVM.Stations[e.TargetStation - 1].PoreDistributionVM;
|
|
|
|
|
|
targetVM.LoadFromDatabase(e.RecordId);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void OpenHistory_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
var mainVM = DataContext as MainViewModel;
|
|
|
|
|
|
if (mainVM == null) return;
|
|
|
|
|
|
|
2026-03-19 20:40:54 +08:00
|
|
|
|
// 获取当前选中的工位索引(假设选项卡控件是 TabControl,名称为 stationTabControl)
|
|
|
|
|
|
// 需要在 XAML 中为 TabControl 设置 x:Name="stationTabControl"
|
|
|
|
|
|
int currentStation = stationTabControl.SelectedIndex + 1; // 假设索引从0开始
|
2026-03-02 18:50:30 +08:00
|
|
|
|
var historyWin = new HistoryWindow { SelectedStation = currentStation };
|
|
|
|
|
|
historyWin.ShowDialog();
|
2026-02-27 16:03:49 +08:00
|
|
|
|
}
|
2026-03-24 19:33:35 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void Window_KeyDown(object sender, KeyEventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (Keyboard.Modifiers == ModifierKeys.Control && e.Key == Key.P)
|
|
|
|
|
|
{
|
|
|
|
|
|
var win = new ParameterWindow();
|
|
|
|
|
|
win.Owner = this;
|
|
|
|
|
|
win.ShowDialog();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2026-02-27 16:03:49 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|