From 31a636e735a0addc56e4f4527f500b7aa0874eb5 Mon Sep 17 00:00:00 2001 From: chr <chr@mailcom> Date: 星期五, 03 一月 2025 11:21:46 +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="鏈�灏忓寲"></Button> + <Button DockPanel.Dock="Right" Style="{StaticResource WindowButton}" Click="SwitchUser_Click" ToolTip="鍒囨崲鐢ㄦ埛"></Button> + <Button DockPanel.Dock="Right" Style="{StaticResource WindowButton}" Click="Refresh_Click" BorderBrush="Black" ToolTip="鍒锋柊"></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