Files
MobilePhoneGrippingCuttingT…/ProcessReportWindow.xaml

498 lines
25 KiB
Plaintext
Raw Normal View History

2026-04-20 11:51:33 +08:00
<Window x:Class="EmptyLoadTest.ProcessReportWindow"
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:local="clr-namespace:EmptyLoadTest"
mc:Ignorable="d"
Title="过程报表系统" Height="700" Width="1000"
WindowStartupLocation="CenterScreen"
Background="#F5F7FA" Loaded="Window_Loaded">
<Window.Resources>
<!-- 标题样式 -->
<Style x:Key="MainTitleStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="28"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="Foreground" Value="#2C3E50"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="Margin" Value="0,20,0,25"/>
</Style>
<!-- 副标题样式 -->
<Style x:Key="SubTitleStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="18"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="Foreground" Value="#34495E"/>
<Setter Property="Margin" Value="0,0,0,15"/>
</Style>
<!-- 按钮样式 -->
<Style x:Key="ActionButtonStyle" TargetType="Button">
<Setter Property="Height" Value="40"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Padding" Value="15,8"/>
<Setter Property="Margin" Value="5"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border x:Name="border" Background="{TemplateBinding Background}"
CornerRadius="6">
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="border" Property="Background">
<Setter.Value>
<SolidColorBrush Color="#3498DB"/>
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="ExportButtonStyle" TargetType="Button" BasedOn="{StaticResource ActionButtonStyle}">
<Setter Property="Background" Value="#2ECC71"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border x:Name="border" Background="#2ECC71" CornerRadius="6">
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="border" Property="Background" Value="#27AE60"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="FolderButtonStyle" TargetType="Button" BasedOn="{StaticResource ActionButtonStyle}">
<Setter Property="Background" Value="#3498DB"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border x:Name="border" Background="#3498DB" CornerRadius="6">
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="border" Property="Background" Value="#2980B9"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="PrintButtonStyle" TargetType="Button" BasedOn="{StaticResource ActionButtonStyle}">
<Setter Property="Background" Value="#9B59B6"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border x:Name="border" Background="#9B59B6" CornerRadius="6">
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="border" Property="Background" Value="#8E44AD"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="ReturnButtonStyle" TargetType="Button" BasedOn="{StaticResource ActionButtonStyle}">
<Setter Property="Background" Value="#95A5A6"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border x:Name="border" Background="#95A5A6" CornerRadius="6">
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="border" Property="Background" Value="#7F8C8D"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!-- 卡片样式 -->
<Style x:Key="CardStyle" TargetType="Border">
<Setter Property="Background" Value="#FFFFFF"/>
<Setter Property="CornerRadius" Value="10"/>
<Setter Property="BorderBrush" Value="#E5E8E8"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Padding" Value="20"/>
<Setter Property="Margin" Value="15"/>
</Style>
<!-- DataGrid 样式 -->
<Style x:Key="DataGridStyle" TargetType="DataGrid">
<Setter Property="Background" Value="#FFFFFF"/>
<Setter Property="BorderBrush" Value="#E5E8E8"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="GridLinesVisibility" Value="Horizontal"/>
<Setter Property="HorizontalGridLinesBrush" Value="#ECF0F1"/>
<Setter Property="VerticalGridLinesBrush" Value="#ECF0F1"/>
<Setter Property="HeadersVisibility" Value="Column"/>
<Setter Property="CanUserAddRows" Value="False"/>
<Setter Property="CanUserDeleteRows" Value="False"/>
<Setter Property="AutoGenerateColumns" Value="False"/>
<Setter Property="IsReadOnly" Value="True"/>
<Setter Property="SelectionMode" Value="Single"/>
<Setter Property="SelectionUnit" Value="FullRow"/>
<Setter Property="RowHeight" Value="36"/>
<Setter Property="FontSize" Value="13"/>
<Setter Property="Foreground" Value="#2C3E50"/>
<Setter Property="ScrollViewer.CanContentScroll" Value="True"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
</Style>
<!-- DataGrid 列头样式 -->
<Style x:Key="DataGridColumnHeaderStyle" TargetType="DataGridColumnHeader">
<Setter Property="Background" Value="#3498DB"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Height" Value="40"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Padding" Value="10,8"/>
<Setter Property="BorderBrush" Value="#2980B9"/>
<Setter Property="BorderThickness" Value="0,0,1,0"/>
</Style>
<!-- DataGrid 行样式 -->
<Style x:Key="DataGridRowStyle" TargetType="DataGridRow">
<Setter Property="Background" Value="White"/>
<Style.Triggers>
<!-- 斑马线效果 -->
<Trigger Property="AlternationIndex" Value="0">
<Setter Property="Background" Value="#FFFFFF"/>
</Trigger>
<Trigger Property="AlternationIndex" Value="1">
<Setter Property="Background" Value="#F8F9F9"/>
</Trigger>
<!-- 鼠标悬停效果 -->
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#EBF5FB"/>
</Trigger>
<!-- 选中效果 -->
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#D6EAF8"/>
<Setter Property="BorderBrush" Value="#3498DB"/>
<Setter Property="BorderThickness" Value="1"/>
</Trigger>
</Style.Triggers>
</Style>
<!-- DataGrid 单元格样式 -->
<Style x:Key="DataGridCellStyle" TargetType="DataGridCell">
<Setter Property="BorderBrush" Value="#ECF0F1"/>
<Setter Property="BorderThickness" Value="0,0,1,1"/>
<Setter Property="Padding" Value="10,8"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="TextBlock.TextAlignment" Value="Center"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="DataGridCell">
<Border BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
Padding="{TemplateBinding Padding}"
SnapsToDevicePixels="True">
<ContentPresenter VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!-- 复选框样式 -->
<Style x:Key="CheckBoxStyle" TargetType="CheckBox">
<Setter Property="FontSize" Value="14"/>
<Setter Property="Foreground" Value="#34495E"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Margin" Value="0,5"/>
<Setter Property="Cursor" Value="Hand"/>
</Style>
<!-- 状态转换器 -->
<local:StatusToColorConverter x:Key="StatusToColorConverter"/>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<!-- 标题区域 -->
<TextBlock Text="过程报表" Style="{StaticResource MainTitleStyle}" Grid.Row="0"/>
<!-- 主要内容区域 -->
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="300"/>
</Grid.ColumnDefinitions>
<!-- 左侧DataGrid 报表 -->
<Border Grid.Column="0" Style="{StaticResource CardStyle}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<!-- 报表标题和操作 -->
<Grid Grid.Row="0" Margin="0,0,0,15">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="测试过程数据报表" Style="{StaticResource SubTitleStyle}"
Grid.Column="0"/>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<!--<Button Content="刷新" Style="{StaticResource ExportButtonStyle}"
Width="80"/>-->
<Button Content="清空" Style="{StaticResource PrintButtonStyle}"
Width="80" Margin="5,0,0,0" Click="Button_Click_4"/>
</StackPanel>
</Grid>
<!-- DataGrid 报表 -->
<Border Grid.Row="1" Background="#FFFFFF" CornerRadius="8"
BorderBrush="#E5E8E8" BorderThickness="1"
Padding="0" Margin="0,0,0,15">
<DataGrid x:Name="ReportDataGrid"
Style="{StaticResource DataGridStyle}"
ItemsSource="{Binding ReportData}"
AlternationCount="2"
ColumnHeaderStyle="{StaticResource DataGridColumnHeaderStyle}"
RowStyle="{StaticResource DataGridRowStyle}"
CellStyle="{StaticResource DataGridCellStyle}">
<DataGrid.Columns>
<!-- 序号列 -->
<DataGridTextColumn Header="序号"
Width="80"
Binding="{Binding Index}"
IsReadOnly="True"/>
<!-- 时间列 -->
<DataGridTextColumn Header="时间"
Width="180"
Binding="{Binding Time, StringFormat='HH:mm:ss'}"
IsReadOnly="True"/>
<!-- 实时扭矩列 -->
<DataGridTextColumn Header="实时扭矩 (N.cm)"
Width="150"
Binding="{Binding Torque, StringFormat='F1'}"
IsReadOnly="True"/>
<!-- 实时转速列 -->
<DataGridTextColumn Header="实时转速 (Rad/Min)"
Width="160"
Binding="{Binding Speed}"
IsReadOnly="True"/>
</DataGrid.Columns>
</DataGrid>
</Border>
<!-- 报表统计信息 -->
<Grid Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Orientation="Horizontal">
<TextBlock Text="数据总数:"
Foreground="#7F8C8D"
VerticalAlignment="Center"
Margin="0,0,5,0"/>
<TextBlock Text="{Binding DataCount}"
FontWeight="Bold"
Foreground="#3498DB"
VerticalAlignment="Center"/>
<TextBlock Text=" | 最大扭矩:"
Foreground="#7F8C8D"
VerticalAlignment="Center"
Margin="15,0,5,0"/>
<TextBlock Name="maxForce"
FontWeight="Bold"
Foreground="#27AE60"
VerticalAlignment="Center"/>
<!--<TextBlock Text=" | 警告:"
Foreground="#7F8C8D"
VerticalAlignment="Center"
Margin="15,0,5,0"/>-->
<!--<TextBlock Text="{Binding WarningCount}"
FontWeight="Bold"
Foreground="#E67E22"
VerticalAlignment="Center"/>-->
<!--<TextBlock Text=" | 错误:"
Foreground="#7F8C8D"
VerticalAlignment="Center"
Margin="15,0,5,0"/>-->
<!--<TextBlock Text="{Binding ErrorCount}"
FontWeight="Bold"
Foreground="#E74C3C"
VerticalAlignment="Center"/>-->
</StackPanel>
<!--<TextBlock Grid.Column="1" Text="记录时间:"
Foreground="#7F8C8D"
VerticalAlignment="Center"
Margin="15,0,5,0"/>
<TextBlock Grid.Column="2" Text="10:00:00 - 10:15:30"
FontWeight="Bold"
Foreground="#2C3E50"
VerticalAlignment="Center"/>-->
</Grid>
</Grid>
</Border>
<!-- 中间分隔线 -->
<Rectangle Grid.Column="1" Width="1" Fill="#E5E8E8"
Margin="0,20" VerticalAlignment="Stretch"/>
<!-- 右侧:导出和操作 -->
<Border Grid.Column="2" Style="{StaticResource CardStyle}">
<StackPanel>
<TextBlock Text="报表操作" Style="{StaticResource SubTitleStyle}"/>
<!-- 导出报表区域 -->
<Border Background="#F8F9F9" CornerRadius="8"
BorderBrush="#E5E8E8" BorderThickness="1"
Padding="15" Margin="0,0,0,20">
<StackPanel>
<TextBlock Text="导出报表" FontSize="16" FontWeight="SemiBold"
Foreground="#2C3E50" Margin="0,0,0,10"/>
<Button Content="导出为Excel" Style="{StaticResource ExportButtonStyle}"
Margin="0,0,0,10" Click="Button_Click_1"/>
<Separator Background="#D5D8DC" Margin="0,0,0,10"/>
<Button Content="返回" Style="{StaticResource FolderButtonStyle}" Click="Button_Click"/>
</StackPanel>
</Border>
<!-- 打印选项 -->
<Border Background="#F8F9F9" CornerRadius="8"
BorderBrush="#E5E8E8" BorderThickness="1"
Padding="15" Margin="0,0,0,20">
<StackPanel>
<Button Content="打印" Style="{StaticResource PrintButtonStyle}" Click="Button_Click_2"/>
</StackPanel>
</Border>
<!-- 数据操作 -->
<Border Background="#F8F9F9" CornerRadius="8"
BorderBrush="#E5E8E8" BorderThickness="1"
Padding="15" Margin="0,0,0,20">
<!--<StackPanel>
<TextBlock Text="数据操作" FontSize="16" FontWeight="SemiBold"
Foreground="#2C3E50" Margin="0,0,0,10"/>
<Button Content="选择全部" Style="{StaticResource FolderButtonStyle}"
Margin="0,0,0,8"/>
<Button Content="取消选择" Style="{StaticResource FolderButtonStyle}"
Margin="0,0,0,8"/>
<Button Content="删除选中" Style="{StaticResource PrintButtonStyle}"
Margin="0,0,0,8"/>
<Button Content="导出选中" Style="{StaticResource ExportButtonStyle}"
Margin="0,0,0,8"/>
</StackPanel>-->
</Border>
<!-- 返回按钮 -->
<Button Content="返回主界面" Style="{StaticResource ReturnButtonStyle}"
Height="45" FontSize="16" Click="Button_Click_3"/>
<!-- 报表信息 -->
<!--<StackPanel Margin="0,20,0,0">
<TextBlock Text="报表信息" FontSize="14" FontWeight="SemiBold"
Foreground="#34495E" Margin="0,0,0,5"/>
<TextBlock Text="生成时间2024-01-01 10:15:30"
FontSize="12" Foreground="#7F8C8D"/>
<TextBlock Text="生成用户Admin"
FontSize="12" Foreground="#7F8C8D"/>
<TextBlock Text="报表版本v1.0"
FontSize="12" Foreground="#7F8C8D"/>
</StackPanel>-->
</StackPanel>
</Border>
</Grid>
<!-- 底部状态栏 -->
<Border Grid.Row="2" Background="#2C3E50" Padding="15,10">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Orientation="Horizontal">
<Border Background="#3498DB" CornerRadius="4" Padding="8,4"
VerticalAlignment="Center" Margin="0,0,15,0">
<TextBlock Text="过程报表" Foreground="White" FontWeight="SemiBold"/>
</Border>
<!--<TextBlock Text="已加载数据共5条记录" Foreground="#ECF0F1"
VerticalAlignment="Center" FontSize="14"/>-->
</StackPanel>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<TextBlock Text="状态:" Foreground="#ECF0F1"
VerticalAlignment="Center" Margin="0,0,10,0"/>
<Border Background="#27AE60" CornerRadius="4"
Padding="8,4" VerticalAlignment="Center">
<TextBlock Text="就绪" Foreground="White" FontWeight="SemiBold"/>
</Border>
<TextBlock Text=" | " Foreground="#7F8C8D"
VerticalAlignment="Center" Margin="10,0"/>
<TextBlock Name="lasttime" Text="最后刷新10:15:30" Foreground="#BDC3C7"
VerticalAlignment="Center"/>
</StackPanel>
</Grid>
</Border>
</Grid>
</Window>