using MembranePoreTester.ViewModels; using System.Windows; namespace MembranePoreTester.Views { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); 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; // 获取当前选中的工位索引(假设选项卡控件是 TabControl,名称为 stationTabControl) // 需要在 XAML 中为 TabControl 设置 x:Name="stationTabControl" int currentStation = stationTabControl.SelectedIndex + 1; // 假设索引从0开始 var historyWin = new HistoryWindow { SelectedStation = currentStation }; historyWin.ShowDialog(); } } }