From b544d5cccd76735e034c8055918a50927b437474 Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期二, 10 十一月 2026 08:29:04 +0800
Subject: [PATCH] fix: 维护模式重复进入失败与按钮灰死 + Broker 并发验证用例
---
HMI.DataViewer/DataViewer.xaml | 152 +++++++++++++++++++++++++++++---------------------
1 files changed, 89 insertions(+), 63 deletions(-)
diff --git a/HMI.DataViewer/DataViewer.xaml b/HMI.DataViewer/DataViewer.xaml
index 93b4116..3505340 100644
--- a/HMI.DataViewer/DataViewer.xaml
+++ b/HMI.DataViewer/DataViewer.xaml
@@ -10,19 +10,13 @@
xmlns:pw="https://opensource.panuon.com/wpf"
xmlns:pu="https://opensource.panuon.com/wpf-ui"
xmlns:dp="clr-namespace:HMI.UI.DpUtil;assembly=HMI.UI"
- Background="{StaticResource WorkspaceBackground}"
+ Background="{DynamicResource WorkspaceBackground}"
Loaded="PluginControl_Loaded"
d:DesignHeight="450" d:DesignWidth="800">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
- <pu:StyleDictionary Includes="TreeView" />
- <ResourceDictionary Source="/HMI.UI;component/Style/PanuonResource.xaml"/>
- <ResourceDictionary Source="/HMI.UI;component/Resources/Font/Font.xaml"/>
</ResourceDictionary.MergedDictionaries>
-
- <uic:PathImageConverter x:Key="path2Image"/>
- <uic:DataGridRowNumberConverter x:Key="rowNumber"/>
</ResourceDictionary>
</UserControl.Resources>
<Border Style="{StaticResource CardBoarder}">
@@ -41,10 +35,11 @@
<DockPanel Grid.ColumnSpan="2">
<StackPanel DockPanel.Dock="Right" Style="{StaticResource ButtonGroup}">
<Button Style="{StaticResource AddBtn}" x:Name="addBtn" Click="Button_Click"/>
+ <Button Style="{StaticResource EditBtn}" x:Name="editBtn" Click="Button_Click"/>
<Button Style="{StaticResource RfhBtn}" x:Name="rfhBtn" Click="Button_Click"/>
<Button Style="{StaticResource DelBtn}" x:Name="delBtn" Click="Button_Click"/>
</StackPanel>
- <TextBlock Style="{StaticResource TitleBox}" Text="鏁版嵁鏌ヨ"/>
+ <TextBlock Style="{StaticResource TitleBox}" Text="{DynamicResource Dv.Title}"/>
</DockPanel>
<!--<Grid>
@@ -55,10 +50,21 @@
</Grid>-->
<StackPanel Grid.Row="1" Grid.ColumnSpan="2" HorizontalAlignment="Left" Style="{StaticResource ButtonGroup}">
- <TextBlock Style="{StaticResource TitleBox}" FontSize="{StaticResource ContentFontSize2}" Text="寮�濮嬫椂闂�"/>
- <pu:DateTimePicker Style="{StaticResource TimePicker}" SelectedDateTime="{x:Null}" x:Name="startTimeInput"/>
- <TextBlock Style="{StaticResource TitleBox}" FontSize="{StaticResource ContentFontSize2}" Text="缁撴潫鏃堕棿"/>
- <pu:DateTimePicker Style="{StaticResource TimePicker}" SelectedDateTime="{x:Null}" x:Name="endTimeInput"/>
+ <TextBlock Style="{StaticResource TitleBox}" FontSize="{StaticResource ContentFontSize2}"
+ Text="{DynamicResource Dv.SelectItem}"/>
+ <ComboBox x:Name="programInput"
+ MinWidth="180"
+ SelectionChanged="programInput_SelectionChanged"/>
+
+ <TextBlock Style="{StaticResource TitleBox}" FontSize="{StaticResource ContentFontSize2}"
+ Text="{DynamicResource App.StartTime}"/>
+ <pu:DateTimePicker Style="{StaticResource TimePicker}"
+ SelectedDateTime="{x:Null}" x:Name="startTimeInput"/>
+ <TextBlock Style="{StaticResource TitleBox}" FontSize="{StaticResource ContentFontSize2}"
+ Text="{DynamicResource App.EndTime}"/>
+ <pu:DateTimePicker Style="{StaticResource TimePicker}"
+ SelectedDateTime="{x:Null}" x:Name="endTimeInput"/>
+
<Button Style="{StaticResource QueryBtn}"
x:Name="srhBtn" Click="Button_Click"/>
@@ -66,20 +72,23 @@
<Button Style="{StaticResource ResetBtn}"
x:Name="resetBtn" Click="Button_Click"/>
- <Menu x:Name="anyBtn" Style="{StaticResource CommonMenu}">
+ <Button Style="{StaticResource ExportBtn}"
+ x:Name="exportBtn" Click="Button_Click"/>
+
+ <!--<Menu x:Name="anyBtn" Style="{StaticResource CommonMenu}">
<MenuItem Header="鍒嗘瀽">
<MenuItem Header="CPK" Click="MenuItem_Click"/>
<MenuItem Header="RandR" />
</MenuItem>
- </Menu>
+ </Menu>-->
</StackPanel>
<DockPanel Grid.Row="2" Grid.ColumnSpan="2" Margin="0,10,0,0">
- <pu:Drawer DockPanel.Dock="Left" x:Name="DrwMenu" MinWidth="34" MaxWidth="400"
+ <pu:Drawer DockPanel.Dock="Left" x:Name="DrwMenu" MinWidth="35" MaxWidth="400"
Padding="0"
ShadowColor="{x:Null}"
- AnimationDuration="0" BorderThickness="2,0,0,2" BorderBrush="{StaticResource CommonBoarder}">
+ AnimationDuration="0" BorderThickness="2,0,0,2" BorderBrush="{DynamicResource CommonBoarder}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
@@ -90,42 +99,48 @@
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
- <DockPanel Grid.ColumnSpan="2" Background="{StaticResource CommonBoarder}">
- <ToggleButton x:Name="drawerBtn" BorderThickness="0"
- DockPanel.Dock="Right"
- Background="Transparent"
- Width="34" Height="34" HorizontalAlignment="Right"
- RenderTransformOrigin="0.5,0.5"
- FontFamily="{StaticResource iconfont}"
- Content="" IsChecked="{Binding IsOpen, ElementName=DrwMenu, Mode=TwoWay}">
- <ToggleButton.Style>
- <Style TargetType="ToggleButton" BasedOn="{StaticResource CommonToggle}">
- <Style.Triggers>
- <DataTrigger Binding="{Binding IsOpen, ElementName=DrwMenu}" Value="False">
- <Setter Property="RenderTransform">
- <Setter.Value>
- <RotateTransform Angle="-90"/>
- </Setter.Value>
- </Setter>
- </DataTrigger>
- <DataTrigger Binding="{Binding IsOpen, ElementName=DrwMenu}" Value="True">
- <Setter Property="Background" Value="Red"/>
- <Setter Property="RenderTransform">
- <Setter.Value>
- <RotateTransform Angle="90"/>
- </Setter.Value>
- </Setter>
- </DataTrigger>
- <Trigger Property="IsChecked" Value="True">
- <Setter Property="Background" Value="Red"/>
- </Trigger>
- </Style.Triggers>
- </Style>
- </ToggleButton.Style>
- </ToggleButton>
+ <Border Grid.ColumnSpan="2" BorderThickness="2" BorderBrush="{DynamicResource CommonBoarder}" Background="{DynamicResource VerBar}">
+ <DockPanel Height="35">
+ <ToggleButton x:Name="drawerBtn" BorderThickness="0"
+ DockPanel.Dock="Right"
+ Background="Transparent"
+ Width="35" Height="35" HorizontalAlignment="Right"
+ RenderTransformOrigin="0.5,0.5"
+ Foreground="{DynamicResource PrimaryColorContract}"
+ FontFamily="{StaticResource iconfont}"
+ Content="" IsChecked="{Binding IsOpen, ElementName=DrwMenu, Mode=TwoWay}">
+ <ToggleButton.Style>
+ <Style TargetType="ToggleButton" BasedOn="{StaticResource CommonToggle}">
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding IsOpen, ElementName=DrwMenu}" Value="False">
+ <Setter Property="RenderTransform">
+ <Setter.Value>
+ <RotateTransform Angle="-90"/>
+ </Setter.Value>
+ </Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding IsOpen, ElementName=DrwMenu}" Value="True">
+ <Setter Property="Background" Value="Red"/>
+ <Setter Property="RenderTransform">
+ <Setter.Value>
+ <RotateTransform Angle="90"/>
+ </Setter.Value>
+ </Setter>
+ </DataTrigger>
+ <Trigger Property="IsChecked" Value="True">
+ <Setter Property="Background" Value="Red"/>
+ </Trigger>
+ </Style.Triggers>
+ </Style>
+ </ToggleButton.Style>
+ </ToggleButton>
- <TextBlock Text="楂樼骇鏌ヨ" FontSize="16" VerticalAlignment="Center" HorizontalAlignment="Center"/>
- </DockPanel>
+ <TextBlock Text="{DynamicResource Dv.Advanced}" FontSize="16"
+ Foreground="{DynamicResource PrimaryColorContract}"
+ VerticalAlignment="Center" HorizontalAlignment="Center"/>
+ </DockPanel>
+ </Border>
+
<Grid Grid.Row="1">
<Grid.RowDefinitions>
@@ -137,12 +152,12 @@
<ColumnDefinition/>
</Grid.ColumnDefinitions>
- <DockPanel Margin="10,10,10,0" Grid.ColumnSpan="2">
- <Label Content="閫夋嫨鏌ヨ椤圭洰"/>
+ <!--<DockPanel Margin="10,10,10,0" Grid.ColumnSpan="2">
+ <Label Content="{DynamicResource Dv.SelectItem}"/>
<ComboBox Grid.Column="1" x:Name="programInput" SelectionChanged="programInput_SelectionChanged"/>
- </DockPanel>
+ </DockPanel>-->
- <DataGrid Margin="10" Grid.Row="1" Grid.ColumnSpan="2" Style="{StaticResource DefaultDataGrid}"
+ <DataGrid Grid.Row="1" Grid.ColumnSpan="2" Style="{StaticResource DefaultDataGrid}"
IsReadOnly="False"
SelectionMode="Single"
BorderThickness="0"
@@ -156,9 +171,17 @@
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
- <DataGridTextColumn IsReadOnly="True" Width="*" Binding="{Binding Key}" Header="绛涢�夋潯浠�" />
- <DataGridTemplateColumn Width="*" Header="瀵规瘮鏂瑰紡">
+ <DataGridTextColumn IsReadOnly="True" Width="80" Binding="{Binding Name}">
+ <DataGridTextColumn.Header>
+ <TextBlock Text="{DynamicResource Dv.Field}"/>
+ </DataGridTextColumn.Header>
+ </DataGridTextColumn>
+
+ <DataGridTemplateColumn Width="60">
+ <DataGridTemplateColumn.Header>
+ <TextBlock Text="{DynamicResource Dv.Condition}"/>
+ </DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Condition}"/>
@@ -178,7 +201,10 @@
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
- <DataGridTextColumn Width="*" Binding="{Binding Value}" Header="绛涢�夊��" >
+ <DataGridTextColumn Width="*" Binding="{Binding Value}" >
+ <DataGridTextColumn.Header>
+ <TextBlock Text="{DynamicResource Dv.Value}"/>
+ </DataGridTextColumn.Header>
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
@@ -196,7 +222,7 @@
<Label Grid.Row="1" Grid.Column="1" Width="100" Height="34"
VerticalContentAlignment="Center"
HorizontalContentAlignment="Center"
- Content="楂樼骇鏌ヨ"
+ Content="{DynamicResource Dv.Advanced}"
FontSize="16">
<Label.LayoutTransform>
<RotateTransform CenterX="25" CenterY="25" Angle="270"/>
@@ -218,11 +244,11 @@
</Grid>
</pu:Drawer>
- <DataGrid BorderThickness="2" BorderBrush="{StaticResource CommonBoarder}" x:Name="dataTable"
+ <!-- SelectionUnit="CellOrRowHeader"
+SelectionMode="Extended" -->
+ <DataGrid BorderThickness="2" BorderBrush="{DynamicResource CommonBoarder}" x:Name="dataTable"
Style="{StaticResource DefaultDataGrid}"
- SelectionUnit="CellOrRowHeader"
- SelectionMode="Extended"
- pu:DataGridHelper.CellSelectedBackground="{StaticResource PrimaryColor}"
+ EnableRowVirtualization="True"
PreviewMouseLeftButtonDown="dataTable_PreviewMouseLeftButtonDown">
<DataGrid.Columns>
<DataGridTemplateColumn Header="#" IsReadOnly="True" CanUserResize="False">
--
Gitblit v1.9.1