feat: 在启动功能选择窗口中显示基础信息
在 StartupSelectionWindow 顶部添加基础信息展示模块, 显示文件名、最小钻咀、最小槽刀、最小EA刀直径, 与 MainWindow 中的基础信息面板布局一致。 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
31
App.xaml.cs
31
App.xaml.cs
@@ -36,7 +36,8 @@ namespace DrillTools
|
||||
|
||||
bool canClearParameters = CanClearDrillTapeParameters(filePath);
|
||||
bool canGeneratePpDrillTape = CanGeneratePpDrillTape(filePath);
|
||||
var selectionWindow = new StartupSelectionWindow(filePath, canClearParameters, canGeneratePpDrillTape);
|
||||
GetMinDiameters(filePath, out double minDrill, out double minSlot, out double minEA);
|
||||
var selectionWindow = new StartupSelectionWindow(filePath, canClearParameters, canGeneratePpDrillTape, minDrill, minSlot, minEA);
|
||||
selectionWindow.ShowDialog();
|
||||
|
||||
switch (selectionWindow.SelectedAction)
|
||||
@@ -144,6 +145,34 @@ namespace DrillTools
|
||||
}
|
||||
}
|
||||
|
||||
private static void GetMinDiameters(string filePath, out double minDrillDiameter, out double minSlotDiameter, out double minEADiameter)
|
||||
{
|
||||
minDrillDiameter = 0;
|
||||
minSlotDiameter = 0;
|
||||
minEADiameter = 0;
|
||||
|
||||
try
|
||||
{
|
||||
var viewModel = new MainWindowViewModel
|
||||
{
|
||||
ShouldCheckSortFileOnLoad = false
|
||||
};
|
||||
|
||||
string content = CommandTypeFileReader.ReadAllText(filePath);
|
||||
viewModel.LoadToolsFromDrillTape(content);
|
||||
|
||||
if (viewModel.Tools.Count > 0)
|
||||
{
|
||||
minDrillDiameter = viewModel.MinDrillDiameter;
|
||||
minSlotDiameter = viewModel.MinSlotDiameter;
|
||||
minEADiameter = viewModel.MinEADiameter;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
private static void PerformPpDrillTapeGeneration(string filePath)
|
||||
{
|
||||
try
|
||||
|
||||
@@ -13,7 +13,57 @@
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<TextBlock Grid.Row="0" Text="{Binding FileName}" FontWeight="Bold" TextWrapping="Wrap" Margin="0,0,0,10"/>
|
||||
<!-- 基础信息 -->
|
||||
<GroupBox Grid.Row="0" Header="基础信息" Margin="0,0,0,10">
|
||||
<Grid Margin="1">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<StackPanel Grid.Row="0" Orientation="Horizontal">
|
||||
<TextBlock VerticalAlignment="Center" Text="文件名:" />
|
||||
<TextBlock
|
||||
Margin="0,0,0,5"
|
||||
VerticalAlignment="Center"
|
||||
FontWeight="Bold"
|
||||
Text="{Binding FileName}" />
|
||||
</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>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
|
||||
<TextBlock Grid.Row="1" Text="请选择要执行的功能:" Margin="0,0,0,15"/>
|
||||
|
||||
<StackPanel Grid.Row="2" HorizontalAlignment="Center" Orientation="Horizontal">
|
||||
|
||||
@@ -16,10 +16,17 @@ namespace DrillTools
|
||||
{
|
||||
public StartupAction SelectedAction { get; private set; } = StartupAction.None;
|
||||
|
||||
public StartupSelectionWindow(string filePath, bool canClearParameters = false, bool canGeneratePpDrillTape = false)
|
||||
public StartupSelectionWindow(string filePath, bool canClearParameters = false, bool canGeneratePpDrillTape = false,
|
||||
double minDrillDiameter = 0, double minSlotDiameter = 0, double minEADiameter = 0)
|
||||
{
|
||||
InitializeComponent();
|
||||
DataContext = new { FileName = Path.GetFileName(filePath) };
|
||||
DataContext = new
|
||||
{
|
||||
FileName = Path.GetFileNameWithoutExtension(filePath),
|
||||
MinDrillDiameter = minDrillDiameter,
|
||||
MinSlotDiameter = minSlotDiameter,
|
||||
MinEADiameter = minEADiameter
|
||||
};
|
||||
ClearParametersButton.Visibility = canClearParameters ? Visibility.Visible : Visibility.Collapsed;
|
||||
GeneratePpDrillTapeButton.Visibility = canGeneratePpDrillTape ? Visibility.Visible : Visibility.Collapsed;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user