using System.Windows; namespace DrillTools { /// /// 钻带涨缩参数设置窗口 /// public partial class DrillScalingWindow : Window { private readonly DrillScalingViewModel _viewModel; /// /// 用户确认后的缩放结果(kx, ky) /// public (double Kx, double Ky)? ScalingResult { get; private set; } public DrillScalingWindow() { InitializeComponent(); _viewModel = new DrillScalingViewModel(); DataContext = _viewModel; } private void ModeRadioButton_Changed(object sender, RoutedEventArgs e) { if (_viewModel == null) return; if (RatioRadioButton.IsChecked == true) _viewModel.Mode = ScalingMode.Ratio; else if (PpmRadioButton.IsChecked == true) _viewModel.Mode = ScalingMode.Ppm; } private void ExecuteButton_Click(object sender, RoutedEventArgs e) { var error = _viewModel.Validate(); if (error != null) { ErrorText.Text = error; ErrorText.Visibility = Visibility.Visible; return; } ScalingResult = (_viewModel.Kx, _viewModel.Ky); DialogResult = true; Close(); } private void CancelButton_Click(object sender, RoutedEventArgs e) { ScalingResult = null; DialogResult = false; Close(); } } }