feat: 基础信息叠板计算功能
- 新增 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
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
using System.IO;
|
||||
using System.Windows;
|
||||
|
||||
namespace DrillTools
|
||||
@@ -17,26 +16,12 @@ namespace DrillTools
|
||||
{
|
||||
public StartupAction SelectedAction { get; private set; } = StartupAction.None;
|
||||
|
||||
public StartupSelectionWindow(string filePath, bool canClearParameters = false, bool canGeneratePpDrillTape = false,
|
||||
bool canScaleDrillTape = false,
|
||||
double minDrillDiameter = 0, double minSlotDiameter = 0, double minEADiameter = 0,
|
||||
bool isPpDrillTape = false, double ppXSpacing = 0, double ppYSpacing = 0,
|
||||
bool hasOuter3175Spacing = false, double outer3175XSpacing = 0, double outer3175YSpacing = 0)
|
||||
public StartupSelectionWindow(StartupSelectionViewModel viewModel,
|
||||
bool canClearParameters = false, bool canGeneratePpDrillTape = false,
|
||||
bool canScaleDrillTape = false)
|
||||
{
|
||||
InitializeComponent();
|
||||
DataContext = new
|
||||
{
|
||||
FileName = Path.GetFileNameWithoutExtension(filePath),
|
||||
MinDrillDiameter = minDrillDiameter,
|
||||
MinSlotDiameter = minSlotDiameter,
|
||||
MinEADiameter = minEADiameter,
|
||||
IsPpDrillTape = isPpDrillTape,
|
||||
PpXSpacing = ppXSpacing,
|
||||
PpYSpacing = ppYSpacing,
|
||||
HasOuter3175Spacing = hasOuter3175Spacing,
|
||||
Outer3175XSpacing = outer3175XSpacing,
|
||||
Outer3175YSpacing = outer3175YSpacing
|
||||
};
|
||||
DataContext = viewModel;
|
||||
ClearParametersButton.Visibility = canClearParameters ? Visibility.Visible : Visibility.Collapsed;
|
||||
GeneratePpDrillTapeButton.Visibility = canGeneratePpDrillTape ? Visibility.Visible : Visibility.Collapsed;
|
||||
ScaleDrillTapeButton.Visibility = canScaleDrillTape ? Visibility.Visible : Visibility.Collapsed;
|
||||
@@ -71,5 +56,16 @@ namespace DrillTools
|
||||
SelectedAction = StartupAction.ScaleDrillTape;
|
||||
Close();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 计算叠板按钮点击事件
|
||||
/// </summary>
|
||||
private void CalculateStackCount_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (DataContext is StartupSelectionViewModel vm)
|
||||
{
|
||||
vm.CalculateStackCount();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user