From 15bbd62b0b24b72c717ae91ab45348a2083ad04e Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期五, 10 十月 2025 08:58:18 +0800
Subject: [PATCH] 优化bug;
---
Plugin.TsExecution/SingleControl.xaml | 193 +++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 164 insertions(+), 29 deletions(-)
diff --git a/Plugin.TsExecution/SingleControl.xaml b/Plugin.TsExecution/SingleControl.xaml
index 6d87ceb..06c8185 100644
--- a/Plugin.TsExecution/SingleControl.xaml
+++ b/Plugin.TsExecution/SingleControl.xaml
@@ -7,6 +7,7 @@
xmlns:pw="https://opensource.panuon.com/wpf"
xmlns:pu="https://opensource.panuon.com/wpf-ui"
xmlns:local="clr-namespace:Plugin.TsExecution"
+ xmlns:cdp="clr-namespace:HMI.Core.DpUtil;assembly=HMI.Core"
mc:Ignorable="d"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
Loaded="UserControl_Loaded"
@@ -18,6 +19,7 @@
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
+ <ResourceDictionary Source="/HMI.UI;component/Style/PanuonListView.xaml"/>
<ResourceDictionary Source="/HMI.UI;component/Style/PanuonDataGrid.xaml"/>
</ResourceDictionary.MergedDictionaries>
<sys:Double x:Key="nanD">NaN</sys:Double>
@@ -202,14 +204,148 @@
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
- <DataGrid Grid.Row="0" Style="{StaticResource DefaultDataGrid}"
- Margin="5,0,5,5"
- pu:DataGridHelper.ColumnHeaderFontSize="{Binding ActualWidth,
+ <!--<ListView Grid.Row="0" Style="{StaticResource DefaultListTable}" x:Name="table"
+ ItemsSource="{Binding Datasource}"
+ VirtualizingPanel.IsContainerVirtualizable="True"
+VirtualizingPanel.IsVirtualizing="True"
+VirtualizingPanel.VirtualizationMode="Recycling"
+ pu:ListViewHelper.ItemsHeight="{StaticResource nanD}"
+ pu:ListViewHelper.ColumnHeaderFontSize="{Binding ActualWidth,
ElementName=control,
Converter={StaticResource fc}, ConverterParameter='15,1093,15,22'}"
- FontSize="{Binding ActualWidth,
+ FontSize="{Binding ActualWidth,
ElementName=control,
Converter={StaticResource fc}, ConverterParameter='15,1093,15,20'}"
+ pu:ListViewHelper.ColumnHeaderHeight="{Binding ActualWidth,ElementName=control,
+Converter={StaticResource fc}, ConverterParameter='30,1093,-1,45'}">
+ <ListView.View>
+ <GridView AllowsColumnReorder="False">
+ <GridViewColumn Width="60" Header="#">
+ <GridViewColumn.CellTemplate>
+ <DataTemplate>
+ <TextBlock Text="{Binding Converter={StaticResource lvRowNumber},
+RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=ListViewItem,AncestorLevel=1}}"/>
+ </DataTemplate>
+ </GridViewColumn.CellTemplate>
+ </GridViewColumn>
+
+ <GridViewColumn Width="200">
+ <GridViewColumn.Header>
+ <TextBlock Text="{DynamicResource Test.Name}"/>
+ </GridViewColumn.Header>
+ <GridViewColumn.CellTemplate>
+ <DataTemplate>
+ <DockPanel>
+ <Border Style="{StaticResource CellBorder}">
+ <TextBlock Style="{StaticResource ListTableTextBlock}"
+ Text="{Binding Name}"/>
+ </Border>
+ </DockPanel>
+ </DataTemplate>
+ </GridViewColumn.CellTemplate>
+ </GridViewColumn>
+ <GridViewColumn Width="100">
+ <GridViewColumn.Header>
+ <TextBlock Text="{DynamicResource Test.Unit}"/>
+ </GridViewColumn.Header>
+ <GridViewColumn.CellTemplate>
+ <DataTemplate>
+ <Grid HorizontalAlignment="Stretch" VerticalAlignment="Center">
+ <Border Style="{StaticResource CellBorder}" MouseDown="TextBlock_MouseDown">
+ <TextBlock Style="{StaticResource ListTableTextBlock}"
+ Text="{Binding Unit}"/>
+ </Border>
+ </Grid>
+ </DataTemplate>
+ </GridViewColumn.CellTemplate>
+ </GridViewColumn>
+ <GridViewColumn Width="120">
+ <GridViewColumn.Header>
+ <TextBlock Text="{DynamicResource Test.Value}"/>
+ </GridViewColumn.Header>
+ <GridViewColumn.CellTemplate>
+ <DataTemplate>
+ <Border Style="{StaticResource CellBorder}">
+ <TextBlock Style="{StaticResource ListTableTextBlock}"
+ Text="{Binding Value}"/>
+ </Border>
+ </DataTemplate>
+ </GridViewColumn.CellTemplate>
+ </GridViewColumn>
+ <GridViewColumn Width="120">
+ <GridViewColumn.Header>
+ <TextBlock Text="{DynamicResource Test.LimitDown}"/>
+ </GridViewColumn.Header>
+ <GridViewColumn.CellTemplate>
+ <DataTemplate>
+ <Border Style="{StaticResource CellBorder}">
+ <TextBlock Style="{StaticResource ListTableTextBlock}"
+ Text="{Binding LimitDown}"/>
+ </Border>
+ </DataTemplate>
+ </GridViewColumn.CellTemplate>
+ </GridViewColumn>
+ <GridViewColumn Width="120">
+ <GridViewColumn.Header>
+ <TextBlock Text="{DynamicResource Test.LimitUp}"/>
+ </GridViewColumn.Header>
+ <GridViewColumn.CellTemplate>
+ <DataTemplate>
+ <Border Style="{StaticResource CellBorder}">
+ <TextBlock Style="{StaticResource ListTableTextBlock}"
+ Text="{Binding LimitUp}"/>
+ </Border>
+ </DataTemplate>
+ </GridViewColumn.CellTemplate>
+ </GridViewColumn>
+ <GridViewColumn Width="180">
+ <GridViewColumn.Header>
+ <TextBlock Text="{DynamicResource Test.ConsumeTime}"/>
+ </GridViewColumn.Header>
+ <GridViewColumn.CellTemplate>
+ <DataTemplate>
+ <Border Style="{StaticResource CellBorder}">
+ <TextBlock Style="{StaticResource ListTableTextBlock}"
+ Text="{Binding ConsumeTime}"/>
+ </Border>
+ </DataTemplate>
+ </GridViewColumn.CellTemplate>
+ </GridViewColumn>
+ <GridViewColumn Width="120">
+ <GridViewColumn.Header>
+ <TextBlock Text="{DynamicResource Test.Result}"/>
+ </GridViewColumn.Header>
+ <GridViewColumn.CellTemplate>
+ <DataTemplate>
+ <Grid x:Name="border" Margin="0">
+ <TextBlock x:Name="text" Margin="-1" Padding="0" VerticalAlignment="Center" Text="{Binding Result}"/>
+ </Grid>
+ <DataTemplate.Triggers>
+ <DataTrigger Binding="{Binding Result}" Value="Passed">
+ <Setter TargetName="border" Property="Background" Value="{StaticResource passedColor}"/>
+ <Setter TargetName="text" Property="Foreground" Value="#000"/>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding Result}" Value="Failed">
+ <Setter TargetName="border" Property="Background" Value="{StaticResource DangerColor}"/>
+ <Setter TargetName="text" Property="Foreground" Value="#000"/>
+ </DataTrigger>
+ </DataTemplate.Triggers>
+ </DataTemplate>
+ </GridViewColumn.CellTemplate>
+ </GridViewColumn>
+ </GridView>
+ </ListView.View>
+ </ListView>-->
+
+ <DataGrid Grid.Row="0" Style="{StaticResource DefaultDataGrid}"
+ Margin="5,0,5,5"
+ pu:DataGridHelper.ColumnHeaderFontWeight="Normal"
+ pu:DataGridHelper.ColumnHeaderFontSize="{Binding ActualWidth,
+ ElementName=control,
+Converter={StaticResource fc}, ConverterParameter='11,1093,14'}"
+ FontSize="{Binding ActualWidth,
+ ElementName=control,
+Converter={StaticResource fc}, ConverterParameter='11,1093,14'}"
pu:DataGridHelper.ColumnHeaderPadding="3"
dp:DataGridHelper.ShowRowNumber="True"
VirtualizingPanel.IsContainerVirtualizable="True"
@@ -217,7 +353,7 @@
VirtualizingPanel.VirtualizationMode="Recycling"
RowHeight="{StaticResource nanD}"
ColumnHeaderHeight="{Binding ActualWidth,ElementName=control,
-Converter={StaticResource fc}, ConverterParameter='30,1093,-1,45'}"
+Converter={StaticResource fc}, ConverterParameter='32,1093,30,45'}"
ItemsSource="{Binding Datasource}"
x:Name="table">
<DataGrid.Resources>
@@ -237,50 +373,47 @@
</DataGrid.Resources>
<DataGrid.Columns>
- <!--<DataGridTemplateColumn Header="#" CanUserResize="False">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock Text="{Binding Converter={StaticResource rowNumber},
-RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type DataGridRow},AncestorLevel=1}}"/>
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>-->
-
<DataGridTextColumn Header="#"
ElementStyle="{StaticResource TableTextBlock}"
Binding="{Binding Header, RelativeSource={RelativeSource AncestorType={x:Type DataGridRow}, Mode=FindAncestor}}"
- Width="60"/>
- <DataGridTextColumn Width="*" Binding="{Binding Name}"
+ Width="0.4*"/>
+ <DataGridTextColumn Width="2.5*" Binding="{Binding Name}"
ElementStyle="{StaticResource TableTextBlock}">
<DataGridTextColumn.Header>
<TextBlock Text="{DynamicResource Test.Name}"/>
</DataGridTextColumn.Header>
</DataGridTextColumn>
- <DataGridTextColumn Width="100" Binding="{Binding Unit}"
+ <DataGridTextColumn Width="0.8*" Binding="{Binding Unit}"
ElementStyle="{StaticResource TableTextBlock}">
<DataGridTextColumn.Header>
<TextBlock Text="{DynamicResource Test.Unit}"/>
</DataGridTextColumn.Header>
</DataGridTextColumn>
- <DataGridTextColumn Width="*" Binding="{Binding Value}"
+ <DataGridTextColumn Width="2*" Binding="{Binding Value}"
ElementStyle="{StaticResource TableTextBlock}">
<DataGridTextColumn.Header>
<TextBlock Text="{DynamicResource Test.Value}"/>
</DataGridTextColumn.Header>
</DataGridTextColumn>
- <DataGridTextColumn Width="*" Binding="{Binding LimitDown}"
+ <DataGridTextColumn Width="1.5*" Binding="{Binding LimitDown}"
ElementStyle="{StaticResource TableTextBlock}">
<DataGridTextColumn.Header>
<TextBlock Text="{DynamicResource Test.LimitDown}"/>
</DataGridTextColumn.Header>
</DataGridTextColumn>
- <DataGridTextColumn Width="*" Binding="{Binding LimitUp}"
+ <DataGridTextColumn Width="1.5*" Binding="{Binding LimitUp}"
ElementStyle="{StaticResource TableTextBlock}">
<DataGridTextColumn.Header>
<TextBlock Text="{DynamicResource Test.LimitUp}"/>
</DataGridTextColumn.Header>
</DataGridTextColumn>
- <DataGridTemplateColumn Width="120">
+ <DataGridTextColumn Width="0.6*" Binding="{Binding ConsumeTime}"
+ ElementStyle="{StaticResource TableTextBlock}">
+ <DataGridTextColumn.Header>
+ <TextBlock Text="{DynamicResource Test.ConsumeTime}"/>
+ </DataGridTextColumn.Header>
+ </DataGridTextColumn>
+ <DataGridTemplateColumn Width="1*">
<DataGridTemplateColumn.Header>
<TextBlock Text="{DynamicResource Test.Result}"/>
</DataGridTemplateColumn.Header>
@@ -346,8 +479,10 @@
VerticalContentAlignment="Center" Content="{Binding ProbeWarn}"/>
</StackPanel>
- <Button FontSize="12" Style="{StaticResource LinkButton}" x:Name="clear" Margin="10,0,0,0" Click="Button_Click"
- Content="{DynamicResource App.Clear}"/>
+ <Button FontSize="12" Style="{StaticResource LinkButton}"
+ cdp:PermissionHelper.RequiredPermission="Permission:ClearProbeCount"
+ x:Name="clear" Margin="10,0,0,0" Click="Button_Click"
+ Content="{DynamicResource App.Clear}" Cursor=""/>
</StackPanel>
<Label x:Name="probeCountAlarm" Visibility="Collapsed" DockPanel.Dock="Left" Padding="30,0" FontSize="12" Foreground="Red"
@@ -358,6 +493,8 @@
</Grid>
<Canvas Grid.Row="0" Grid.RowSpan="5" Visibility="Collapsed"
+ VirtualizingPanel.IsVirtualizing="False"
+ VirtualizingPanel.VirtualizationMode="Standard"
Background="#AAFFFFFF" x:Name="pausePanel" SizeChanged="pausePanel_Loaded">
<Border BorderBrush="#000" Background="#FFF" BorderThickness="0.5"
CornerRadius="5"
@@ -379,10 +516,8 @@
<TextBlock Margin="20,20,20,0" Grid.Row="1"
FontSize="40"
- FontFamily="/Panuon.WPF.UI;component/Resources/Fonts/#PanuonIcon"
- Foreground="#F9D01A"
- Text=""
- />
+ FontFamily="/Panuon.WPF.UI;component/Resources/Fonts/#PanuonIcon"
+ Foreground="#F9D01A" Text=""/>
<Label Margin="0,20,20,0" Grid.Row="1" Grid.Column="1" Content="{DynamicResource Ts.PauseMsg}"/>
<StackPanel Margin="10" Grid.Row="2" Grid.ColumnSpan="2" Orientation="Horizontal" HorizontalAlignment="Right">
@@ -399,7 +534,7 @@
</Border>
</Canvas>
- <Canvas Grid.Row="0" Grid.RowSpan="5" Visibility="Collapsed"
+ <!--<Canvas Grid.Row="0" Grid.RowSpan="5" Visibility="Collapsed"
Background="#AAFFFFFF" x:Name="scannerPanel" SizeChanged="pausePanel_Loaded">
<Border BorderBrush="#000" Background="#FFF" BorderThickness="0.5" CornerRadius="5" x:Name="scannerVisualModal">
<Grid>
@@ -435,7 +570,7 @@
</StackPanel>
</Grid>
</Border>
- </Canvas>
+ </Canvas>-->
<!--<DockPanel Grid.Row="4">
--
Gitblit v1.9.1