Files
FATrace/FATrace.WPLApp/Views/HistoryAlarmView.xaml
2025-11-26 16:46:48 +08:00

226 lines
8.9 KiB
XML

<UserControl
x:Class="FATrace.WPLApp.Views.HistoryAlarmView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:prism="http://prismlibrary.com/"
d:DesignHeight="720"
d:DesignWidth="1280"
prism:ViewModelLocator.AutoWireViewModel="True"
mc:Ignorable="d">
<Grid Margin="10">
<Grid.Resources>
<FontFamily x:Key="IconSegoe">Segoe MDL2 Assets</FontFamily>
<Style x:Key="PrimaryButton" TargetType="Button">
<Setter Property="Background" Value="#4A90E2" />
<Setter Property="Foreground" Value="White" />
<Setter Property="BorderBrush" Value="#4A90E2" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="Padding" Value="12,6" />
<Setter Property="Cursor" Value="Hand" />
<Setter Property="Height" Value="32" />
</Style>
<Style x:Key="SecondaryButton" TargetType="Button">
<Setter Property="Background" Value="#F0F4F8" />
<Setter Property="Foreground" Value="#334E68" />
<Setter Property="BorderBrush" Value="#CBD5E0" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="Padding" Value="12,6" />
<Setter Property="Cursor" Value="Hand" />
<Setter Property="Height" Value="32" />
</Style>
</Grid.Resources>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<!-- 查询条件 -->
<Border
Grid.Row="0"
Padding="10"
Background="White"
BorderBrush="#E6ECF2"
BorderThickness="1"
CornerRadius="4">
<Border.Effect>
<DropShadowEffect
BlurRadius="8"
Opacity="0.15"
ShadowDepth="1" />
</Border.Effect>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<StackPanel
Grid.Column="0"
Margin="0,0,10,0"
Orientation="Horizontal">
<TextBlock VerticalAlignment="Center" Text="类别:" />
<ComboBox
Width="180"
ItemsSource="{Binding CategoryList}"
SelectedItem="{Binding Category, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</StackPanel>
<StackPanel
Grid.Column="1"
Margin="0,0,10,0"
Orientation="Horizontal">
<TextBlock VerticalAlignment="Center" Text="关键字:" />
<TextBox Width="220" Text="{Binding Keyword, UpdateSourceTrigger=PropertyChanged}" />
</StackPanel>
<StackPanel
Grid.Column="2"
Margin="0,0,10,0"
Orientation="Horizontal">
<TextBlock VerticalAlignment="Center" Text="开始:" />
<DatePicker Width="160" SelectedDate="{Binding StartTime, Mode=TwoWay}" />
</StackPanel>
<StackPanel
Grid.Column="3"
Margin="0,0,10,0"
Orientation="Horizontal">
<TextBlock VerticalAlignment="Center" Text="结束:" />
<DatePicker Width="160" SelectedDate="{Binding EndTime, Mode=TwoWay}" />
</StackPanel>
<StackPanel
Grid.Column="4"
HorizontalAlignment="Right"
Orientation="Horizontal">
<Button
Width="100"
Margin="0,0,8,0"
Command="{Binding SearchCommand}"
Style="{StaticResource PrimaryButton}">
<StackPanel HorizontalAlignment="Center" Orientation="Horizontal">
<TextBlock
Margin="0,0,6,0"
FontFamily="{StaticResource IconSegoe}"
Text="&#xE721;" />
<TextBlock Text="查询" />
</StackPanel>
</Button>
<Button
Width="100"
Command="{Binding ClearCommand}"
Style="{StaticResource SecondaryButton}">
<StackPanel HorizontalAlignment="Center" Orientation="Horizontal">
<TextBlock
Margin="0,0,6,0"
FontFamily="{StaticResource IconSegoe}"
Text="&#xE711;" />
<TextBlock Text="清空" />
</StackPanel>
</Button>
</StackPanel>
</Grid>
</Border>
<!-- 列表 -->
<DataGrid
Grid.Row="1"
Margin="0,10,0,10"
AlternatingRowBackground="#F7FAFC"
AlternationCount="2"
AutoGenerateColumns="False"
Background="White"
BorderBrush="#E6ECF2"
BorderThickness="1"
CanUserAddRows="False"
FontSize="16"
GridLinesVisibility="Horizontal"
IsReadOnly="True"
ItemsSource="{Binding Items}">
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="FontSize" Value="18" />
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.Columns>
<DataGridTextColumn
Width="160"
Binding="{Binding Category}"
Header="类别" />
<DataGridTextColumn
Width="*"
Binding="{Binding Message}"
Header="消息" />
<DataGridTextColumn
Width="180"
Binding="{Binding CreateTime, StringFormat=yyyy-MM-dd HH:mm:ss}"
Header="时间" />
</DataGrid.Columns>
</DataGrid>
<!-- 底部状态/分页 -->
<StatusBar Grid.Row="2">
<StatusBarItem>
<TextBlock Text="总数:" />
</StatusBarItem>
<StatusBarItem>
<TextBlock Text="{Binding TotalCount}" />
</StatusBarItem>
<StatusBarItem>
<Separator Width="20" />
</StatusBarItem>
<StatusBarItem>
<TextBlock Text="页码:" />
</StatusBarItem>
<StatusBarItem>
<TextBlock Text="{Binding PageIndex}" />
</StatusBarItem>
<StatusBarItem>
<TextBlock Text="/" />
</StatusBarItem>
<StatusBarItem>
<TextBlock Text="{Binding TotalPages}" />
</StatusBarItem>
<StatusBarItem>
<Button
Width="40"
Margin="5,0"
Command="{Binding FirstPageCommand}"
Content="|&lt;" />
</StatusBarItem>
<StatusBarItem>
<Button
Width="40"
Margin="5,0"
Command="{Binding PrevPageCommand}"
Content="&lt;" />
</StatusBarItem>
<StatusBarItem>
<Button
Width="40"
Margin="5,0"
Command="{Binding NextPageCommand}"
Content="&gt;" />
</StatusBarItem>
<StatusBarItem>
<Button
Width="40"
Margin="5,0"
Command="{Binding LastPageCommand}"
Content="&gt;|" />
</StatusBarItem>
</StatusBar>
</Grid>
</UserControl>