增强原材料入场记录视图模型,新增 SuspendEmbeddedPrintPreviewAirspace 属性以处理 WebView2 的嵌入式打印预览遮挡问题。重构相关对话框调用逻辑,确保在弹窗期间正确管理预览状态。同时,优化原材料卡片生成确认窗口的预览逻辑,提升用户体验和界面响应性。

This commit is contained in:
geht
2026-05-15 15:46:25 +08:00
parent 0c5e29044a
commit 9201c7ca15
5 changed files with 172 additions and 46 deletions

View File

@@ -70,6 +70,8 @@
ItemsSource="{Binding PlanItems}"
SelectedItem="{Binding SelectedPlanItem, Mode=TwoWay}"
AutoGenerateColumns="False"
EnableRowVirtualization="False"
EnableColumnVirtualization="False"
HeadersVisibility="Column"
CanUserResizeColumns="True"
CanUserReorderColumns="False"
@@ -85,10 +87,10 @@
SelectionMode="Single"
SelectionUnit="FullRow"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto"
SelectionChanged="PlanGrid_OnSelectionChanged">
ScrollViewer.VerticalScrollBarVisibility="Auto">
<DataGrid.Resources>
<Style x:Key="CenteredCellTextStyle" TargetType="TextBlock">
<Setter Property="Foreground" Value="#262626"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="TextAlignment" Value="Center"/>
@@ -104,13 +106,21 @@
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
</DataGrid.ColumnHeaderStyle>
<!-- 勿覆盖默认选中配色:显式写出 IsSelected/悬停背景 + 深色文字,避免出现白字白底、“整表发白”的假死感 -->
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Margin" Value="0,0,0,3"/>
<Setter Property="SnapsToDevicePixels" Value="True"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="Background" Value="#FFFFFF"/>
<Setter Property="SnapsToDevicePixels" Value="True"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#F5F5F5"/>
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#E6F7FF"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<DataGrid.CellStyle>
@@ -119,10 +129,17 @@
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="Padding" Value="8,10"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Foreground" Value="#262626"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="TextBlock.TextAlignment" Value="Center"/>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Foreground" Value="#1F1F1F"/>
<Setter Property="Background" Value="Transparent"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
<DataGrid.Columns>
@@ -159,7 +176,8 @@
<TextBlock Text="打印模板预览" FontSize="14" FontWeight="SemiBold"/>
<TextBlock Text="{Binding TemplateText}" Margin="0,4,0,0" FontSize="12" Foreground="#8C8C8C"/>
</StackPanel>
<wv2:WebView2 x:Name="PreviewWebView" Grid.Row="1" DefaultBackgroundColor="#FFFFFFFF"/>
<!-- 与入场页预览区一致:加载 NavigateToString 间隙减少刺眼的整片白闪烁 -->
<wv2:WebView2 x:Name="PreviewWebView" Grid.Row="1" DefaultBackgroundColor="#FF525659"/>
</Grid>
</Border>
</Grid>