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.ParameterManage/ParameterManage.xaml |   60 ++++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 46 insertions(+), 14 deletions(-)

diff --git a/HMI.ParameterManage/ParameterManage.xaml b/HMI.ParameterManage/ParameterManage.xaml
index 61be0e0..bdf5ca9 100644
--- a/HMI.ParameterManage/ParameterManage.xaml
+++ b/HMI.ParameterManage/ParameterManage.xaml
@@ -13,14 +13,14 @@
              mc:Ignorable="d" 
              Padding="10"
              Loaded="UserControl_Loaded"
-             Background="{StaticResource WorkspaceBackground}"
+             Background="{DynamicResource WorkspaceBackground}"
              d:DesignHeight="450" d:DesignWidth="800">
     <UserControl.Resources>
-        <!--<ResourceDictionary>
-            <ResourceDictionary.MergedDictionaries>
-                <ResourceDictionary Source="/HMI.UI;component/Style/PanuonDataGrid.xaml"/>
-            </ResourceDictionary.MergedDictionaries>
-        </ResourceDictionary>-->
+        <CollectionViewSource x:Key="GroupFilter" Source="{Binding Parameters}">
+            <CollectionViewSource.GroupDescriptions>
+                <PropertyGroupDescription PropertyName="ShowGroup" />
+            </CollectionViewSource.GroupDescriptions>
+        </CollectionViewSource>
     </UserControl.Resources>
     <Grid>
         <Grid.ColumnDefinitions>
@@ -107,11 +107,38 @@
                 </DockPanel>
 
 
-                <DataGrid Grid.Row="1" x:Name="parameterTable" Style="{StaticResource DefaultDataGrid}" SelectionMode="Single" 
-                          SelectedItem="{Binding SelectedParameter}"
-                ItemsSource="{Binding Parameters}">
+                <DataGrid Grid.Row="1" x:Name="parameterTable" Style="{StaticResource DefaultDataGrid}" 
+                          SelectionMode="Single" 
+                          ItemsSource="{Binding Source={StaticResource GroupFilter}}"
+                          SelectedItem="{Binding SelectedParameter}">
+                    <DataGrid.GroupStyle>
+                        <GroupStyle>
+                            <GroupStyle.ContainerStyle>
+                                <Style TargetType="{x:Type GroupItem}">
+                                    <Setter Property="Template">
+                                        <Setter.Value>
+                                            <ControlTemplate TargetType="{x:Type GroupItem}">
+                                                <Expander BorderThickness="0" Background="DarkCyan"
+                                      IsExpanded="True">
+                                                    <Expander.Header>
+                                                        <TextBlock Text="{Binding Name}" FontSize="15"
+                                               Margin="8"
+                                               Foreground="#FFF"/>
+                                                    </Expander.Header>
+                                                    <Border Background="#FFF">
+                                                        <ItemsPresenter />
+                                                    </Border>
+                                                </Expander>
+                                            </ControlTemplate>
+                                        </Setter.Value>
+                                    </Setter>
+                                </Style>
+                            </GroupStyle.ContainerStyle>
+                        </GroupStyle>
+                    </DataGrid.GroupStyle>
+
                     <DataGrid.Columns>
-                        <DataGridTemplateColumn Header="" Width="Auto" CanUserResize="False">
+                        <DataGridTemplateColumn Width="Auto" CanUserResize="False">
                             <DataGridTemplateColumn.CellTemplate>
                                 <DataTemplate>
                                     <CheckBox VerticalAlignment="Center" 
@@ -120,12 +147,17 @@
                             </DataGridTemplateColumn.CellTemplate>
                         </DataGridTemplateColumn>
 
-                        <DataGridTextColumn Header="#" Binding="{Binding Converter={StaticResource rowNumber},
+                        <DataGridTextColumn Header="#" Width="40" Binding="{Binding Converter={StaticResource rowNumber},
 RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type DataGridRow},AncestorLevel=1}}"
         CanUserResize="False"/>
-                        <DataGridTextColumn Width="*" Binding="{Binding Name}">
+                        <DataGridTextColumn Width="150" Binding="{Binding Name}">
                             <DataGridTextColumn.Header>
                                 <TextBlock Text="{DynamicResource Pm.Parameter.Name}"/>
+                            </DataGridTextColumn.Header>
+                        </DataGridTextColumn>
+                        <DataGridTextColumn Width="60" Binding="{Binding Type}">
+                            <DataGridTextColumn.Header>
+                                <TextBlock Text="{DynamicResource Pm.Parameter.Type}"/>
                             </DataGridTextColumn.Header>
                         </DataGridTextColumn>
                         <DataGridTextColumn Width="*" Binding="{Binding Value}">
@@ -133,7 +165,7 @@
                                 <TextBlock Text="{DynamicResource Pm.Parameter.Value}"/>
                             </DataGridTextColumn.Header>
                         </DataGridTextColumn>
-                        <DataGridTextColumn Width="*" Binding="{Binding Unit}">
+                        <DataGridTextColumn Width="80" Binding="{Binding Unit}">
                             <DataGridTextColumn.Header>
                                 <TextBlock Text="{DynamicResource Pm.Parameter.Unit}"/>
                             </DataGridTextColumn.Header>
@@ -143,7 +175,7 @@
                                 <TextBlock Text="{DynamicResource Pm.Parameter.Desc}"/>
                             </DataGridTextColumn.Header>
                         </DataGridTextColumn>
-                        <DataGridTextColumn Width="*" Binding="{Binding PGroup}">
+                        <DataGridTextColumn Width="120" Binding="{Binding PGroup}">
                             <DataGridTextColumn.Header>
                                 <TextBlock Text="{DynamicResource Pm.Parameter.Group}"/>
                             </DataGridTextColumn.Header>

--
Gitblit v1.9.1