From 981923c2a2cff6d61cd5a474d2ba398ba48f1fd5 Mon Sep 17 00:00:00 2001
From: chr <chr@chr.com>
Date: 星期一, 02 九月 2024 17:40:17 +0800
Subject: [PATCH] 更新代码;

---
 PdmAlert/MainWindow.xaml |  245 ++++++++++++++++++++++++++++++++----------------
 1 files changed, 162 insertions(+), 83 deletions(-)

diff --git a/PdmAlert/MainWindow.xaml b/PdmAlert/MainWindow.xaml
index 1f51b53..ad6f032 100644
--- a/PdmAlert/MainWindow.xaml
+++ b/PdmAlert/MainWindow.xaml
@@ -6,115 +6,194 @@
         xmlns:local="clr-namespace:PdmAlert"
         mc:Ignorable="d"
         WindowStyle="None"
+        Topmost="True"
         ResizeMode="NoResize"
         WindowStartupLocation="Manual"
         Loaded="Window_Loaded"
+        Deactivated="Window_Deactivated"
+        ShowInTaskbar="False"
         Title="MainWindow" Height="600" Width="400">
     <Window.Resources>
-        <Brush x:Key="MainBorder">#0d4d84</Brush>
-        <Brush x:Key="MainMenu">#1d6eb2</Brush>
-        <Brush x:Key="ChildBorder">#3692e1</Brush>
-        <Brush x:Key="MainStatusBar">#1d6eb2</Brush>
+        <ResourceDictionary>
+            <FontFamily x:Key="iconfont">
+                /PdmAlert;component/Icon/#iconfont
+            </FontFamily>
+            <Brush x:Key="MainBorder">#0d4d84</Brush>
+            <Brush x:Key="MainMenu">#1d6eb2</Brush>
+            <Brush x:Key="ChildBorder">#3692e1</Brush>
+            <Brush x:Key="MainStatusBar">#1d6eb2</Brush>
 
-        <Brush x:Key="SecondaryImportant">Orange</Brush>
-        <Brush x:Key="Important">#e17933</Brush>
-        <Brush x:Key="ImportantFont">#FFF</Brush>
+            <Brush x:Key="SecondaryImportant">Orange</Brush>
+            <Brush x:Key="Important">#e17933</Brush>
+            <Brush x:Key="ImportantFont">#FFF</Brush>
 
 
-        <Brush x:Key="ButtonColor">#103156</Brush>
-        <Brush x:Key="ButtonSelected">#02579E</Brush>
-        <Brush x:Key="ButtonFont">White</Brush>
-        <Brush x:Key="ButtonFontSelected">White</Brush>
-        
-        <Style x:Key="WindowButton" TargetType="Button">
-            <Setter Property="Background" Value="Transparent"/>
-            <Setter Property="FontWeight" Value="SemiBold"/>
-            <Setter Property="Foreground" Value="White"/>
-            <Setter Property="Width" Value="50"/>
-            <Setter Property="FontSize" Value="20"/>
-            <Setter Property="BorderThickness" Value="0"/>
-            <Setter Property="BorderBrush" Value="Transparent"/>
+            <Brush x:Key="ButtonColor">#103156</Brush>
+            <Brush x:Key="ButtonSelected">#02579E</Brush>
+            <Brush x:Key="ButtonFont">White</Brush>
+            <Brush x:Key="ButtonFontSelected">White</Brush>
+
+            <Style x:Key="WindowButton" TargetType="Button">
+                <Setter Property="FontFamily" Value="{StaticResource iconfont}"/>
+                <Setter Property="Background" Value="Transparent"/>
+                <Setter Property="FontWeight" Value="SemiBold"/>
+                <Setter Property="Foreground" Value="Black"/>
+                <Setter Property="Width" Value="50"/>
+                <Setter Property="FontSize" Value="30"/>
+                <Setter Property="BorderThickness" Value="1"/>
+                <Setter Property="BorderBrush" Value="Transparent"/>
 
 
-            <Setter Property="Template">
-                <Setter.Value>
-                    <ControlTemplate TargetType="Button">
-                        <Border x:Name="border" Width="{TemplateBinding Width}" Background="{TemplateBinding Background}" 
+                <Setter Property="Template">
+                    <Setter.Value>
+                        <ControlTemplate TargetType="Button">
+                            <Border x:Name="border" Width="{TemplateBinding Width}" Background="{TemplateBinding Background}" 
                         BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="0">
-                            <Label x:Name="label" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" 
+                                <Label x:Name="label" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" 
                            HorizontalContentAlignment="Center" VerticalContentAlignment="Center" 
                            Foreground="{TemplateBinding Foreground}"
                                    Content="{TemplateBinding Content}"/>
-                        </Border>
+                            </Border>
 
-                        <ControlTemplate.Triggers>
-                            <Trigger Property="IsMouseOver" Value="True">
-                                <Setter TargetName="border" Property="Background" Value="Gray"/>
-                            </Trigger>
-                        </ControlTemplate.Triggers>
-                    </ControlTemplate>
-                </Setter.Value>
-            </Setter>
-        </Style>
+                            <ControlTemplate.Triggers>
+                                <Trigger Property="IsMouseOver" Value="True">
+                                    <Setter TargetName="border" Property="Background" Value="Gray"/>
+                                </Trigger>
+                            </ControlTemplate.Triggers>
+                        </ControlTemplate>
+                    </Setter.Value>
+                </Setter>
+            </Style>
 
-        <Style x:Key="WindowCloseButton" BasedOn="{StaticResource WindowButton}" TargetType="Button">
-            <Setter Property="Template">
-                <Setter.Value>
-                    <ControlTemplate TargetType="Button">
-                        <Border x:Name="border" Width="{TemplateBinding Width}" Background="{TemplateBinding Background}" 
+            <Style x:Key="WindowCloseButton" BasedOn="{StaticResource WindowButton}" TargetType="Button">
+                <Setter Property="Template">
+                    <Setter.Value>
+                        <ControlTemplate TargetType="Button">
+                            <Border x:Name="border" Width="{TemplateBinding Width}" Background="{TemplateBinding Background}" 
             BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="0">
-                            <Label x:Name="label" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" 
+                                <Label x:Name="label" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" 
                HorizontalContentAlignment="Center" VerticalContentAlignment="Center" 
                Foreground="{TemplateBinding Foreground}"
                        Content="{TemplateBinding Content}"/>
-                        </Border>
+                            </Border>
 
-                        <ControlTemplate.Triggers>
-                            <Trigger Property="IsMouseOver" Value="True">
-                                <Setter TargetName="border" Property="Background" Value="Red"/>
-                            </Trigger>
-                        </ControlTemplate.Triggers>
-                    </ControlTemplate>
-                </Setter.Value>
-            </Setter>
-        </Style>
+                            <ControlTemplate.Triggers>
+                                <Trigger Property="IsMouseOver" Value="True">
+                                    <Setter TargetName="border" Property="Background" Value="Red"/>
+                                </Trigger>
+                            </ControlTemplate.Triggers>
+                        </ControlTemplate>
+                    </Setter.Value>
+                </Setter>
+            </Style>
 
-        <Style x:Key="ChildWindowButton" BasedOn="{StaticResource WindowButton}" TargetType="Button">
-            <Setter Property="FontSize" Value="15"/>
-            <Setter Property="Width" Value="30"/>
-            <Setter Property="Background" Value="{StaticResource ChildBorder}"/>
-        </Style>
+            <Style x:Key="ChildWindowButton" BasedOn="{StaticResource WindowButton}" TargetType="Button">
+                <Setter Property="FontSize" Value="15"/>
+                <Setter Property="Width" Value="30"/>
+                <Setter Property="Background" Value="{StaticResource ChildBorder}"/>
+            </Style>
 
-        <Style x:Key="ChildWindowCloseButton" BasedOn="{StaticResource ChildWindowButton}" TargetType="Button">
-            
-        </Style>
+            <Style x:Key="ChildWindowCloseButton" BasedOn="{StaticResource ChildWindowButton}" TargetType="Button">
 
-        <Style x:Key="LinkButton" TargetType="Button">
-            <Setter Property="FontFamily" Value="{StaticResource iconfont}"/>
-            <Setter Property="Foreground" Value="{StaticResource ChildBorder}"/>
+            </Style>
 
-            <Setter Property="Template">
-                <Setter.Value>
-                    <ControlTemplate TargetType="Button">
-                        <TextBlock Style="{x:Null}" x:Name="label" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
-                           Foreground="{TemplateBinding Foreground}"
-                                   Text="{TemplateBinding Content}"/>
-                    </ControlTemplate>
-                </Setter.Value>
-            </Setter>
-        </Style>
+            <Style x:Key="LinkButton" TargetType="{x:Type Button}" >
+                <Setter Property="Template">
+                    <Setter.Value>
+                        <ControlTemplate TargetType="{x:Type ButtonBase}">
+                            <ContentPresenter x:Name="buttonContent" TextBlock.FontSize="{TemplateBinding FontSize}" 
+                        TextBlock.FontFamily="{StaticResource iconfont}" 
+                        TextBlock.Foreground="{StaticResource ChildBorder}" 
+                        Margin="0,0,5,0"
+                        VerticalAlignment="Center" 
+                        HorizontalAlignment="Center"
+                        Content="{TemplateBinding Content}"/>
+                            <ControlTemplate.Triggers>
+                                <Trigger Property="IsMouseOver" Value="True">
+                                    <Setter TargetName="buttonContent" Property="TextBlock.Foreground" Value="Purple"/>
+                                    <Setter TargetName="buttonContent" Property="Cursor" Value="Hand"/>
+                                </Trigger>
+                            </ControlTemplate.Triggers>
+                        </ControlTemplate>
+                    </Setter.Value>
+                </Setter>
+            </Style>
+        </ResourceDictionary>
     </Window.Resources>
-    
-    
-    <StackPanel>
-        <StackPanel Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Right">
-            <Button Style="{StaticResource WindowButton}" Click="Button_Click">鍒锋柊</Button>
-            <Button Style="{StaticResource WindowButton}" Click="Button_Click">鍒囨崲鐢ㄦ埛</Button>
-            <Button Style="{StaticResource WindowCloseButton}" Click="Hide_Click">鏈�灏忓寲</Button>
-        </StackPanel>
+    <Border BorderBrush="Black" BorderThickness="1">
         <Grid>
-            <Button Click="Button_Click">娴嬭瘯</Button>
+            <Grid.RowDefinitions>
+                <RowDefinition Height="Auto"/>
+                <RowDefinition Height="*"/>
+            </Grid.RowDefinitions>
+            <Border Grid.Row="0" Background="LightGray">
+                <DockPanel LastChildFill="True">
+                    <Button DockPanel.Dock="Right" Style="{StaticResource WindowCloseButton}" Click="Hide_Click" ToolTip="鏈�灏忓寲">&#xe67a;</Button>
+                    <Button DockPanel.Dock="Right" Style="{StaticResource WindowButton}" Click="SwitchUser_Click" ToolTip="鍒囨崲鐢ㄦ埛">&#xe6ed;</Button>
+                    <Button DockPanel.Dock="Right" Style="{StaticResource WindowButton}" Click="Refresh_Click" BorderBrush="Black" ToolTip="鍒锋柊">&#xe600;</Button>
+                    <Label Content="{Binding userInfo}" FontSize="20" VerticalContentAlignment="Center"/>
+                </DockPanel>
+            </Border>
+
+            <AdornerDecorator Grid.Row="1">
+                <Grid x:Name="mainContent" >
+                    <Grid.RowDefinitions>
+                        <RowDefinition Height="Auto"/>
+                        <RowDefinition Height="*"/>
+                        <RowDefinition Height="Auto"/>
+                    </Grid.RowDefinitions>
+                    <DockPanel Grid.Row="0" LastChildFill="True" HorizontalAlignment="Stretch" >
+                        <Button DockPanel.Dock="Right" Margin="0,0,20,0" FontSize="16" Style="{StaticResource LinkButton}" Click="ReadAll_Click">鍏ㄩ儴宸茶</Button>
+                        <Label DockPanel.Dock="Left" FontSize="16" Content="{Binding messageTitle}"/>
+                    </DockPanel>
+
+                    <ListView BorderThickness="0,1,0,1" Grid.Row="1" ItemsSource="{Binding messages}">
+                        <ListView.ItemContainerStyle>
+                            <Style TargetType="{x:Type ListViewItem}">
+                                <Setter Property="Focusable" Value="False"/>
+                                <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
+                            </Style>
+                        </ListView.ItemContainerStyle>
+
+                        <ListView.ItemTemplate>
+                            <DataTemplate>
+                                <DockPanel LastChildFill="True">
+                                    <Button DockPanel.Dock="Right" FontSize="16" Margin="0,0,15,0" 
+                                        DataContext="{Binding}"
+                                        Click="SingleRead_Click"
+                                        Style="{StaticResource LinkButton}">宸茶</Button>
+                                    <StackPanel DockPanel.Dock="Right">
+                                        <StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
+                                            <Label FontSize="18" FontWeight="Bold" Content="{Binding titile}"/>
+                                            <Label FontSize="18" FontWeight="Bold" Content="{Binding sendTime}"/>
+                                        </StackPanel>
+                                        <Label FontSize="16" Content="{Binding msgContent}"/>
+                                    </StackPanel>
+                                </DockPanel>
+                            </DataTemplate>
+                        </ListView.ItemTemplate>
+                    </ListView>
+                    <StatusBar Grid.Row="2" VerticalAlignment="Center">
+                        <StackPanel Orientation="Horizontal" VerticalAlignment="Center">
+                            <Ellipse Width="12" Height="12"  VerticalAlignment="Center">
+                                <Ellipse.Style>
+                                    <Style TargetType="Ellipse">
+                                        <Style.Triggers>
+                                            <DataTrigger Binding="{Binding socketStatus}" Value="Error">
+                                                <Setter Property="Shape.Fill" Value="Red"/>
+                                            </DataTrigger>
+                                            <DataTrigger Binding="{Binding socketStatus}" Value="Success">
+                                                <Setter Property="Shape.Fill" Value="Green"/>
+                                            </DataTrigger>
+                                        </Style.Triggers>
+                                    </Style>
+                                </Ellipse.Style>
+                            </Ellipse>
+                            <Label FontSize="12" Content="{Binding statusMessage}"/>
+                        </StackPanel>
+                    </StatusBar>
+                </Grid>
+            </AdornerDecorator>
         </Grid>
-    </StackPanel>
-    
+    </Border>
 </Window>

--
Gitblit v1.9.1