From 12e606635c42ea20f4b7c2bdda5204237a4b4c96 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期一, 02 三月 2026 16:14:49 +0800
Subject: [PATCH] 优化

---
 WPFProject/PanuonWindow.xaml |  116 ++++++++++++++++++++++++++++++---------------------------
 1 files changed, 61 insertions(+), 55 deletions(-)

diff --git a/WPFProject/PanuonWindow.xaml b/WPFProject/PanuonWindow.xaml
index 09086ef..943d9d0 100644
--- a/WPFProject/PanuonWindow.xaml
+++ b/WPFProject/PanuonWindow.xaml
@@ -8,6 +8,7 @@
             xmlns:pu="https://opensource.panuon.com/wpf-ui"
             xmlns:ctl="clr-namespace:WPFProject.Controls"
             mc:Ignorable="d"
+            xmlns:dc="clr-namespace:HMI.UI.Converter;assembly=HMI.UI"
             WindowStartupLocation="CenterOwner"
             WindowState="Maximized"
             x:Name="window"
@@ -26,6 +27,7 @@
             pu:WindowXCaption.Foreground="#FFF">
     <Window.Resources>
         <hc:LangConverter x:Key="lc"/>
+        <dc:CollectionVisibility x:Key="cv"/>
         <Style x:Key="UserMenu" TargetType="Menu" BasedOn="{StaticResource {x:Static pu:StyleKeys.MenuStyle}}">
             <Setter Property="Background" Value="{StaticResource PrimaryColor}"/>
             <Setter Property="Foreground" Value="#FFF"/>
@@ -47,8 +49,7 @@
 
     <pu:WindowXCaption.HeaderTemplate>
         <DataTemplate>
-            <DockPanel DataContext="{Binding ElementName=window}" WindowChrome.IsHitTestVisibleInChrome="True"
-                        VerticalAlignment="Center" Height="100">
+            <DockPanel DataContext="{Binding ElementName=window}" WindowChrome.IsHitTestVisibleInChrome="True" VerticalAlignment="Center" Height="100">
                 <StackPanel Orientation="Horizontal">
                     <Image DockPanel.Dock="Left" Source="{Binding WindowLogo}" Margin="5,0,20,0" Height="60" VerticalAlignment="Center" Stretch="Fill"
   RenderOptions.BitmapScalingMode="HighQuality" />
@@ -63,71 +64,81 @@
                     </TextBlock>
                 </StackPanel>
 
-                <StackPanel DockPanel.Dock="Right" VerticalAlignment="Top" Margin="10,10,0,0" Orientation="Horizontal">
-                    <Menu Margin="0" Padding="0" VerticalAlignment="Top"
+                <Grid DockPanel.Dock="Right" VerticalAlignment="Stretch">
+                    <Grid.RowDefinitions>
+                        <RowDefinition />
+                        <RowDefinition Height="Auto"/>
+                    </Grid.RowDefinitions>
+                    <StackPanel Grid.Row="0" VerticalAlignment="Top" Margin="10,10,0,0" Orientation="Horizontal">
+                        <Menu Margin="0" Padding="0" VerticalAlignment="Top"
   VerticalContentAlignment="Center" Style="{StaticResource UserMenu}"
   
   Background="Transparent">
-                        <MenuItem x:Name="userMenu" Header="{Binding WelcomeTitle}" FontSize="16">
-                            <MenuItem Icon="&#xe61d;" Cursor="Hand" FontSize="14" Header="閫�鍑虹櫥褰�" 
+                            <MenuItem x:Name="userMenu" Header="{Binding WelcomeTitle}" FontSize="16">
+                                <MenuItem Icon="&#xe61d;" Cursor="Hand" FontSize="14" Header="閫�鍑虹櫥褰�" 
                                       x:Name="MiLogout" Click="MenuItem_Click"/>
-                            <MenuItem Cursor="Hand" FontSize="14" Icon="&#xe867;"
+                                <MenuItem Cursor="Hand" FontSize="14" Icon="&#xe867;"
               Header="閲嶆柊鍚姩"
               x:Name="MiRestart"
               Click="MenuItem_Click"/>
-                        </MenuItem>
-                    </Menu>
+                            </MenuItem>
+                        </Menu>
 
-                    <Button x:Name="BtnSwitchTheme"
+                        <Button x:Name="BtnSwitchTheme"
 FontSize="18"
 FontFamily="/HMI.UI;component/Resources/Font/#iconfont"
 Content="&#xe60e;"
 RenderTransformOrigin="0.5,0.5"
 Click="Button_Click">
-                        <Button.Style>
-                            <Style TargetType="Button" BasedOn="{StaticResource {x:Static pu:WindowXCaption.MinimizeButtonStyleKey}}">
-                                <Setter Property="Focusable" Value="False"/>
-                                <Style.Triggers>
-                                    <DataTrigger Binding="{Binding ShowMenu}" Value="True">
-                                        <Setter Property="Button.RenderTransform">
-                                            <Setter.Value>
-                                                <RotateTransform x:Name="MyAnimatedTransform" Angle="180" />
-                                            </Setter.Value>
-                                        </Setter>
-                                    </DataTrigger>
-                                </Style.Triggers>
-                            </Style>
-                        </Button.Style>
-                    </Button>
+                            <Button.Style>
+                                <Style TargetType="Button" BasedOn="{StaticResource {x:Static pu:WindowXCaption.MinimizeButtonStyleKey}}">
+                                    <Setter Property="Focusable" Value="False"/>
+                                    <Style.Triggers>
+                                        <DataTrigger Binding="{Binding ShowMenu}" Value="True">
+                                            <Setter Property="Button.RenderTransform">
+                                                <Setter.Value>
+                                                    <RotateTransform x:Name="MyAnimatedTransform" Angle="180" />
+                                                </Setter.Value>
+                                            </Setter>
+                                        </DataTrigger>
+                                    </Style.Triggers>
+                                </Style>
+                            </Button.Style>
+                        </Button>
 
-                    <Button FontSize="18" Click="Button_Click" x:Name="minBtn">
-                        <Button.Style>
-                            <Style TargetType="Button" BasedOn="{StaticResource {x:Static pu:WindowXCaption.MinimizeButtonStyleKey}}">
-                                <Setter Property="Focusable" Value="False"/>
-                                <Setter Property="IsHitTestVisible" Value="True"/>
-                            </Style>
-                        </Button.Style>
-                    </Button>
+                        <Button FontSize="18" Click="Button_Click" x:Name="minBtn">
+                            <Button.Style>
+                                <Style TargetType="Button" BasedOn="{StaticResource {x:Static pu:WindowXCaption.MinimizeButtonStyleKey}}">
+                                    <Setter Property="Focusable" Value="False"/>
+                                    <Setter Property="IsHitTestVisible" Value="True"/>
+                                </Style>
+                            </Button.Style>
+                        </Button>
 
-                    <Button FontSize="18" Click="Button_Click" x:Name="maxBtn">
-                        <Button.Style>
-                            <Style TargetType="Button" BasedOn="{StaticResource {x:Static pu:WindowXCaption.MaximizeButtonStyleKey}}">
-                                <Setter Property="Focusable" Value="False"/>
-                            </Style>
-                        </Button.Style>
-                    </Button>
+                        <Button FontSize="18" Click="Button_Click" x:Name="maxBtn">
+                            <Button.Style>
+                                <Style TargetType="Button" BasedOn="{StaticResource {x:Static pu:WindowXCaption.MaximizeButtonStyleKey}}">
+                                    <Setter Property="Focusable" Value="False"/>
+                                </Style>
+                            </Button.Style>
+                        </Button>
 
-                    <Button FontSize="18" Click="Button_Click" x:Name="closeBtn">
-                        <Button.Style>
-                            <Style TargetType="Button" BasedOn="{StaticResource {x:Static pu:WindowXCaption.CloseButtonStyleKey}}">
-                                <Setter Property="Focusable" Value="False"/>
-                            </Style>
-                        </Button.Style>
-                    </Button>
-                </StackPanel>
+                        <Button FontSize="18" Click="Button_Click" x:Name="closeBtn">
+                            <Button.Style>
+                                <Style TargetType="Button" BasedOn="{StaticResource {x:Static pu:WindowXCaption.CloseButtonStyleKey}}">
+                                    <Setter Property="Focusable" Value="False"/>
+                                </Style>
+                            </Button.Style>
+                        </Button>
+                    </StackPanel>
+                    <Button Grid.Row="1" Margin="20,0,0,20" Foreground="#FFF" 
+                            Visibility="{Binding Alarms.Count,Converter={StaticResource cv}}"
+                            HorizontalContentAlignment="Left" Style="{StaticResource LinkButton}"
+                            Click="Clear_AllAlarm_Click"
+                            Content="娓呴櫎鍏ㄩ儴鎶ヨ"/>
+                </Grid>
 
                 <ListBox x:Name="list"
-                             
                         Margin="20,15,10,15"
                         Background="#6FFFFFFF"
                         BorderThickness="0"
@@ -139,17 +150,12 @@
                              pu:ListBoxHelper.ItemsIcon="&#xe931;"
                              ItemsSource="{Binding Alarms}"
                              Loaded="list_Loaded"
-                             
-                             FontSize="15"
-Foreground="#FFF"
-                             
+                             FontSize="15" Foreground="#FFF"
                              pu:IconHelper.FontFamily="/Panuon.WPF.UI;component/Resources/Fonts/#PanuonIcon"
                              pu:IconHelper.Foreground="Green"
                              pu:IconHelper.FontSize="20"
                              pu:IconHelper.Margin="5,0,5,0"
                              FontWeight="UltraBlack"
-                            
-                             
                              pu:ListBoxHelper.ItemsSeparatorVisibility="Visible"
                              pu:ListBoxHelper.ItemsSeparatorBrush="Transparent"
                              pu:ListBoxHelper.ItemsRemoveButtonVisibility="Visible">

--
Gitblit v1.9.1