- 新增 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
149 lines
7.5 KiB
XML
149 lines
7.5 KiB
XML
<Window x:Class="DrillTools.StartupSelectionWindow"
|
||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||
Title="选择功能"
|
||
Width="680"
|
||
SizeToContent="Height"
|
||
ResizeMode="NoResize"
|
||
Topmost="True"
|
||
WindowStartupLocation="CenterScreen">
|
||
<Grid Margin="15">
|
||
<Grid.RowDefinitions>
|
||
<RowDefinition Height="Auto" />
|
||
<RowDefinition Height="Auto" />
|
||
<RowDefinition Height="Auto" />
|
||
</Grid.RowDefinitions>
|
||
|
||
<!-- 基础信息 -->
|
||
<GroupBox Grid.Row="0" Header="基础信息" Margin="0,0,0,10">
|
||
<Grid Margin="1">
|
||
<Grid.RowDefinitions>
|
||
<RowDefinition Height="Auto" />
|
||
<RowDefinition Height="Auto" />
|
||
<RowDefinition Height="Auto" />
|
||
<RowDefinition Height="Auto" />
|
||
<RowDefinition Height="Auto" />
|
||
<RowDefinition Height="Auto" />
|
||
</Grid.RowDefinitions>
|
||
|
||
<StackPanel Grid.Row="0" Orientation="Horizontal">
|
||
<TextBlock VerticalAlignment="Center" Text="文件名:" />
|
||
<TextBlock
|
||
Margin="0,0,10,5"
|
||
VerticalAlignment="Center"
|
||
FontWeight="Bold"
|
||
Text="{Binding FileName}" />
|
||
<TextBlock
|
||
Margin="10,0,0,5"
|
||
VerticalAlignment="Center"
|
||
Visibility="{Binding IsPpDrillTape, Converter={StaticResource BooleanToVisibilityConverter}}"
|
||
Text="{Binding PpXSpacing, StringFormat=X间距: {0:F3}}" />
|
||
<TextBlock
|
||
Margin="10,0,0,5"
|
||
VerticalAlignment="Center"
|
||
Visibility="{Binding IsPpDrillTape, Converter={StaticResource BooleanToVisibilityConverter}}"
|
||
Text="{Binding PpYSpacing, StringFormat=Y间距: {0:F3}}" />
|
||
</StackPanel>
|
||
|
||
<Grid Grid.Row="1">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="*" />
|
||
<ColumnDefinition Width="*" />
|
||
<ColumnDefinition Width="*" />
|
||
</Grid.ColumnDefinitions>
|
||
|
||
<StackPanel Grid.Column="0" Orientation="Horizontal">
|
||
<TextBlock VerticalAlignment="Center" Text="最小钻咀:" />
|
||
<TextBlock
|
||
Margin="5,0,0,0"
|
||
VerticalAlignment="Center"
|
||
Text="{Binding MinDrillDiameter, StringFormat=F3}" />
|
||
</StackPanel>
|
||
|
||
<StackPanel Grid.Column="1" Orientation="Horizontal">
|
||
<TextBlock VerticalAlignment="Center" Text="最小槽刀:" />
|
||
<TextBlock
|
||
Margin="5,0,0,0"
|
||
VerticalAlignment="Center"
|
||
Text="{Binding MinSlotDiameter, StringFormat=F3}" />
|
||
</StackPanel>
|
||
|
||
<StackPanel Grid.Column="2" Orientation="Horizontal">
|
||
<TextBlock VerticalAlignment="Center" Text="最小EA刀:" />
|
||
<TextBlock
|
||
Margin="5,0,0,0"
|
||
VerticalAlignment="Center"
|
||
Text="{Binding MinEADiameter, StringFormat=F3}" />
|
||
</StackPanel>
|
||
</Grid>
|
||
|
||
<StackPanel
|
||
Grid.Row="2"
|
||
Margin="0,5,0,0"
|
||
Orientation="Horizontal"
|
||
Visibility="{Binding HasOuter3175Spacing, Converter={StaticResource BooleanToVisibilityConverter}}">
|
||
<TextBlock VerticalAlignment="Center" Text="3.175外围孔 " />
|
||
<TextBlock
|
||
VerticalAlignment="Center"
|
||
Text="{Binding Outer3175XSpacing, StringFormat=X间距: {0:F3}}" />
|
||
<TextBlock
|
||
Margin="10,0,0,0"
|
||
VerticalAlignment="Center"
|
||
Text="{Binding Outer3175YSpacing, StringFormat=Y间距: {0:F3}}" />
|
||
</StackPanel>
|
||
|
||
<!-- 叠板计算输入行 -->
|
||
<Grid Grid.Row="3" Margin="0,8,0,0">
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="Auto" />
|
||
<ColumnDefinition Width="80" />
|
||
<ColumnDefinition Width="Auto" />
|
||
<ColumnDefinition Width="Auto" />
|
||
<ColumnDefinition Width="60" />
|
||
<ColumnDefinition Width="Auto" />
|
||
</Grid.ColumnDefinitions>
|
||
|
||
<TextBlock Grid.Column="0" VerticalAlignment="Center" Text="板厚(mm):" />
|
||
<TextBox Grid.Column="1"
|
||
VerticalAlignment="Center"
|
||
VerticalContentAlignment="Center"
|
||
Text="{Binding BoardThicknessInput, UpdateSourceTrigger=PropertyChanged}" />
|
||
<TextBlock Grid.Column="2" Margin="15,0,0,0" VerticalAlignment="Center" Text="单张总铜厚(oz):" />
|
||
<TextBox Grid.Column="3"
|
||
Width="60"
|
||
VerticalAlignment="Center"
|
||
VerticalContentAlignment="Center"
|
||
Text="{Binding CopperThicknessInput, UpdateSourceTrigger=PropertyChanged}" />
|
||
<Button Grid.Column="4" Margin="10,0,0,0"
|
||
Width="75" Height="25"
|
||
Content="计算叠板"
|
||
IsEnabled="{Binding CanCalculate}"
|
||
Click="CalculateStackCount_Click" />
|
||
</Grid>
|
||
|
||
<!-- 叠板计算结果行 -->
|
||
<TextBlock Grid.Row="4" Margin="0,5,0,0"
|
||
VerticalAlignment="Center"
|
||
FontWeight="Bold"
|
||
Text="{Binding StackCountResult}" />
|
||
|
||
<!-- 叠板计算明细行 -->
|
||
<TextBlock Grid.Row="5" Margin="0,2,0,0"
|
||
Text="{Binding StackCountDetail}"
|
||
TextWrapping="Wrap"
|
||
Visibility="{Binding StackCountDetail, Converter={StaticResource NonEmptyToVisibilityConverter}}" />
|
||
</Grid>
|
||
</GroupBox>
|
||
|
||
<TextBlock Grid.Row="1" Text="请选择要执行的功能:" Margin="0,0,0,15"/>
|
||
|
||
<StackPanel Grid.Row="2" HorizontalAlignment="Center" Orientation="Horizontal">
|
||
<Button Width="120" Height="30" Content="调整刀序" Margin="0,0,15,0" Click="AdjustToolOrder_Click"/>
|
||
<Button Width="120" Height="30" Content="导出孔数" Margin="0,0,15,0" Click="ExportHoleCount_Click"/>
|
||
<Button Name="ClearParametersButton" Width="120" Height="30" Content="清空参数" Margin="0,0,15,0" Click="ClearParameters_Click"/>
|
||
<Button Name="GeneratePpDrillTapeButton" Width="120" Height="30" Content="生成PP钻带" Margin="0,0,15,0" Click="GeneratePpDrillTape_Click"/>
|
||
<Button Name="ScaleDrillTapeButton" Width="120" Height="30" Content="二钻涨缩" Click="ScaleDrillTape_Click"/>
|
||
</StackPanel>
|
||
</Grid>
|
||
</Window>
|