- 新增 StackCountCalculator: 数字化规则表(短槽刀/EA刀10×4、槽刀10×4、钻针10×6),公开Calculate方法,输入校验,查表逻辑,16oz铜厚递减 - 新增 StartupSelectionViewModel: 替换匿名DataContext,保留所有显示属性,新增板厚/铜厚输入、计算结果/明细、CanCalculate - 新增 NonEmptyToVisibilityConverter - 修改 StartupSelectionWindow.xaml: 增宽680px,新增3行(输入+结果+明细),计算按钮在基础信息内部 - 修改 StartupSelectionWindow.xaml.cs: 构造函数接收ViewModel,新增计算按钮事件 - 修改 App.xaml.cs: 构建ViewModel实例,CalculateStackMinDiameters独立遍历Tools(含0.749mm,排除机台码) - 修改 App.xaml: 注册NonEmptyToVisibilityConverter
72 lines
2.2 KiB
C#
72 lines
2.2 KiB
C#
using System.Windows;
|
|
|
|
namespace DrillTools
|
|
{
|
|
public enum StartupAction
|
|
{
|
|
None,
|
|
AdjustToolOrder,
|
|
ExportHoleCount,
|
|
ClearParameters,
|
|
GeneratePpDrillTape,
|
|
ScaleDrillTape
|
|
}
|
|
|
|
public partial class StartupSelectionWindow : Window
|
|
{
|
|
public StartupAction SelectedAction { get; private set; } = StartupAction.None;
|
|
|
|
public StartupSelectionWindow(StartupSelectionViewModel viewModel,
|
|
bool canClearParameters = false, bool canGeneratePpDrillTape = false,
|
|
bool canScaleDrillTape = false)
|
|
{
|
|
InitializeComponent();
|
|
DataContext = viewModel;
|
|
ClearParametersButton.Visibility = canClearParameters ? Visibility.Visible : Visibility.Collapsed;
|
|
GeneratePpDrillTapeButton.Visibility = canGeneratePpDrillTape ? Visibility.Visible : Visibility.Collapsed;
|
|
ScaleDrillTapeButton.Visibility = canScaleDrillTape ? Visibility.Visible : Visibility.Collapsed;
|
|
}
|
|
|
|
private void AdjustToolOrder_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
SelectedAction = StartupAction.AdjustToolOrder;
|
|
Close();
|
|
}
|
|
|
|
private void ExportHoleCount_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
SelectedAction = StartupAction.ExportHoleCount;
|
|
Close();
|
|
}
|
|
|
|
private void ClearParameters_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
SelectedAction = StartupAction.ClearParameters;
|
|
Close();
|
|
}
|
|
|
|
private void GeneratePpDrillTape_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
SelectedAction = StartupAction.GeneratePpDrillTape;
|
|
Close();
|
|
}
|
|
|
|
private void ScaleDrillTape_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
SelectedAction = StartupAction.ScaleDrillTape;
|
|
Close();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 计算叠板按钮点击事件
|
|
/// </summary>
|
|
private void CalculateStackCount_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
if (DataContext is StartupSelectionViewModel vm)
|
|
{
|
|
vm.CalculateStackCount();
|
|
}
|
|
}
|
|
}
|
|
}
|