Files
MobilePhoneGrippingCuttingT…/EmergencyStopWindow.xaml
2026-04-20 11:51:33 +08:00

527 lines
28 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<Window x:Class="EmptyLoadTest.EmergencyStopWindow"
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"
xmlns:oxy="http://oxyplot.org/wpf"
mc:Ignorable="d"
Title="负载测试" Height="700" Width="1000"
WindowStartupLocation="CenterScreen"
Background="#F5F7FA" Loaded="Window_Loaded">
<Window.Resources>
<!-- 紧凑的样式定义 -->
<Style x:Key="AlertTitleStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="24"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="Margin" Value="0,10,0,5"/>
</Style>
<Style x:Key="TextBoxStyle" TargetType="TextBox">
<Setter Property="Height" Value="40"/>
<Setter Property="Width" Value="180"/>
<Setter Property="FontSize" Value="18"/>
<Setter Property="TextAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="BorderBrush" Value="#D5D8DC"/>
<Setter Property="BorderThickness" Value="2"/>
<Setter Property="Background" Value="#FFFFFF"/>
<Setter Property="Foreground" Value="#2C3E50"/>
<Setter Property="Padding" Value="10,5"/>
<Style.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter Property="BorderBrush" Value="#3498DB"/>
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="WarningStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="16"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="Foreground" Value="#E74C3C"/>
<Setter Property="Margin" Value="0,2"/>
</Style>
<Style x:Key="DataLabelStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="14"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="Foreground" Value="#34495E"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Margin" Value="0,0,5,0"/>
</Style>
<Style x:Key="DataValueStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="16"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="Foreground" Value="#2C3E50"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
<Style x:Key="RealTimeValueStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="20"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="Foreground" Value="#27AE60"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
</Style>
<Style x:Key="UnitStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="12"/>
<Setter Property="Foreground" Value="#7F8C8D"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Margin" Value="3,0,0,0"/>
<Setter Property="FontStyle" Value="Italic"/>
</Style>
<!-- 紧凑按钮样式 -->
<Style x:Key="CompactButtonStyle" TargetType="Button">
<Setter Property="Height" Value="32"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Padding" Value="10,3"/>
<Setter Property="Margin" Value="3"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border x:Name="border" Background="{TemplateBinding Background}"
CornerRadius="4">
<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="ControlButtonStyle" TargetType="Button" BasedOn="{StaticResource CompactButtonStyle}">
<Setter Property="Height" Value="36"/>
<Setter Property="FontSize" Value="13"/>
<Setter Property="Padding" Value="15,5"/>
</Style>
<Style x:Key="StartButtonStyle" TargetType="Button" BasedOn="{StaticResource ControlButtonStyle}">
<Setter Property="Background" Value="#2ECC71"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border x:Name="border" Background="#2ECC71" CornerRadius="4">
<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="ClearButtonStyle" TargetType="Button" BasedOn="{StaticResource ControlButtonStyle}">
<Setter Property="Background" Value="#E74C3C"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border x:Name="border" Background="#E74C3C" CornerRadius="4">
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="border" Property="Background" Value="#C0392B"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="ReportButtonStyle" TargetType="Button" BasedOn="{StaticResource CompactButtonStyle}">
<Setter Property="Background" Value="#3498DB"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border x:Name="border" Background="#3498DB" CornerRadius="4">
<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="ExitButtonStyle" TargetType="Button" BasedOn="{StaticResource CompactButtonStyle}">
<Setter Property="Background" Value="#95A5A6"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border x:Name="border" Background="#95A5A6" CornerRadius="4">
<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="CompactCardStyle" TargetType="Border">
<Setter Property="Background" Value="#FFFFFF"/>
<Setter Property="CornerRadius" Value="8"/>
<Setter Property="BorderBrush" Value="#E5E8E8"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Padding" Value="12"/>
<Setter Property="Margin" Value="5"/>
</Style>
<Style x:Key="SectionTitleStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="15"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="Foreground" Value="#34495E"/>
<Setter Property="Margin" Value="0,0,0,8"/>
</Style>
</Window.Resources>
<Grid Margin="10">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<!-- 顶部:标题和警告区域 -->
<Border Grid.Row="0" Style="{StaticResource CompactCardStyle}" Margin="5,5,5,8">
<StackPanel>
<TextBox Name="t0" Width="0" Height="0"></TextBox>
<TextBlock Text="负载测试" Style="{StaticResource AlertTitleStyle}"
Foreground="#2C3E50"/>
<!-- 警告信息 -->
<Grid Margin="0,5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="92"/>
<ColumnDefinition Width="18"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<!-- 警告图标 -->
<Border Visibility="Hidden" Name="shacheB" Grid.Column="0" Background="#E74C3C"
CornerRadius="15" Width="100" Height="30"
VerticalAlignment="Top" Margin="0,-41,10,0" Grid.ColumnSpan="2">
<TextBlock Name ="shache" Text="" FontSize="18" FontWeight="Bold"
Foreground="White" HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
<!-- 警告图标 -->
<Border Name="fastleftB" Grid.Column="0" Background="#E74C3C"
CornerRadius="15" Width="100" Height="30"
VerticalAlignment="Center" Margin="0,0,10,0" Grid.ColumnSpan="2">
<TextBlock Name ="fastleft" Text="" FontSize="18" FontWeight="Bold"
Foreground="White" HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
<!-- 警告文本 -->
<StackPanel Grid.Column="2">
<TextBlock Name="faststop" Text="急停已按下" Visibility="Hidden" Style="{StaticResource WarningStyle}"/>
<TextBlock Name="limit" Text="到达电机极限!更换摩擦片" Style="{StaticResource WarningStyle}"/>
</StackPanel>
</Grid>
<!-- 实时转速 -->
<Grid Margin="0,8,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="实时转速:" Style="{StaticResource DataLabelStyle}"
Grid.Column="0" VerticalAlignment="Center"/>
<Border Grid.Column="1" Background="#F8F9F9" CornerRadius="6"
Padding="15,8" Margin="5,0">
<TextBlock Name="actualSpeed" Text="1500" Style="{StaticResource RealTimeValueStyle}"/>
</Border>
<TextBlock Text="Rad/Min" Style="{StaticResource UnitStyle}"
Grid.Column="2" VerticalAlignment="Center"/>
</Grid>
</StackPanel>
</Border>
<!-- 中间:主要数据和控制区域 -->
<Grid Grid.Row="1" Margin="0,0,0,8">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1.5*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<!-- 左侧:扭矩和速度数据 -->
<Border Grid.Column="0" Style="{StaticResource CompactCardStyle}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Text="实时监控数据" Style="{StaticResource SectionTitleStyle}" Grid.Row="0"/>
<!-- 数据网格 -->
<Grid Grid.Row="1" Margin="0,5">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<!-- 实时扭矩 -->
<Grid Grid.Row="0" Margin="0,0,0,6">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="实时扭矩:" Style="{StaticResource DataLabelStyle}"
Grid.Column="0" VerticalAlignment="Center"/>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<TextBlock Name="force" Text="125.5" Style="{StaticResource DataValueStyle}"/>
<TextBlock Text="N.cm" Style="{StaticResource UnitStyle}"/>
</StackPanel>
</Grid>
<!-- 设定扭矩 -->
<Grid Grid.Row="1" Margin="0,0,0,6">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="设定扭矩:" Style="{StaticResource DataLabelStyle}"
Grid.Column="0" VerticalAlignment="Center"/>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<TextBox Name="settingforce" Text="120.0" Style="{StaticResource TextBoxStyle}" GotFocus="settingforce_GotFocus"/>
<TextBlock Text="N.cm" Style="{StaticResource UnitStyle}"/>
</StackPanel>
</Grid>
<!-- 加载速度 -->
<Grid Grid.Row="2" Margin="0,0,0,6">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="加载速度:" Style="{StaticResource DataLabelStyle}"
Grid.Column="0" VerticalAlignment="Center"/>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<TextBox Name="speed" Text="2.5" Style="{StaticResource TextBoxStyle}" GotFocus="speed_GotFocus"/>
<TextBlock Text="mm/s" Style="{StaticResource UnitStyle}"/>
</StackPanel>
</Grid>
<!-- 最大扭矩 -->
<Grid Grid.Row="3">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="最大扭矩:" Style="{StaticResource DataLabelStyle}"
Grid.Column="0" VerticalAlignment="Center"/>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<TextBlock Name="maxforce" Text="130.2" Style="{StaticResource DataValueStyle}"/>
<TextBlock Text="N.cm" Style="{StaticResource UnitStyle}"/>
</StackPanel>
</Grid>
</Grid>
<!-- 测试结果 -->
<StackPanel Grid.Row="2" Margin="0,10,0,0">
<TextBlock Text="测试结果" Style="{StaticResource SectionTitleStyle}"/>
<!-- 到达设定扭矩时的转速 -->
<Grid Margin="0,0,0,5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="到达设定扭矩转速:" Style="{StaticResource DataLabelStyle}"
Grid.Column="0" VerticalAlignment="Center"/>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<Border Background="#F8F9F9" CornerRadius="4" Padding="8,4" Margin="2,0">
<TextBlock Name="reachforce" Text="1450" Style="{StaticResource DataValueStyle}"/>
</Border>
<TextBlock Text="Rad/Min" Style="{StaticResource UnitStyle}"/>
</StackPanel>
</Grid>
<!-- 最大扭矩时的转速 -->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="最大扭矩转速:" Style="{StaticResource DataLabelStyle}"
Grid.Column="0" VerticalAlignment="Center"/>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<Border Background="#F8F9F9" CornerRadius="4" Padding="8,4" Margin="2,0">
<TextBlock Name="maxforce2" Text="1480" Style="{StaticResource DataValueStyle}"/>
</Border>
<TextBlock Text="Rad/Min" Style="{StaticResource UnitStyle}"/>
</StackPanel>
</Grid>
</StackPanel>
</Grid>
</Border>
<!-- 中间:控制面板 -->
<Border Grid.Column="1" Style="{StaticResource CompactCardStyle}">
<StackPanel>
<TextBlock Text="控制面板" Style="{StaticResource SectionTitleStyle}"/>
<!-- 前进后退 -->
<StackPanel Margin="0,5,0,10">
<TextBlock Text="前进后退" Style="{StaticResource DataLabelStyle}"
Margin="0,0,0,5"/>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<Button Content="前 进" Style="{StaticResource StartButtonStyle}"
Width="50" Margin="2" Click="Button_Click" PreviewMouseLeftButtonDown="上升_PreviewMouseLeftButtonDown"
PreviewMouseLeftButtonUp="上升_PreviewMouseLeftButtonUp"
LostMouseCapture="上升_LostMouseCapture" />
<Button Content="后 退" Style="{StaticResource StartButtonStyle}"
Width="50" Margin="2" Click="Button_Click_1" PreviewMouseLeftButtonDown="下降_PreviewMouseLeftButtonDown"
PreviewMouseLeftButtonUp="下降_PreviewMouseLeftButtonUp"
LostMouseCapture="下降_LostMouseCapture" />
<Button Content="开 始" Style="{StaticResource StartButtonStyle}"
Width="50" Margin="2" Click="Button_Click_2"/>
<Button Content="复位" Style="{StaticResource StartButtonStyle}"
Width="50" Margin="2" Click="Button_Click_3"/>
</StackPanel>
<TextBlock Text="将始复矩阵" Style="{StaticResource DataLabelStyle}"
FontSize="12" HorizontalAlignment="Center"
Margin="0,5,0,0" Foreground="#7F8C8D"/>
</StackPanel>
<!-- 行程表 -->
<StackPanel>
<TextBlock Text="行程表" Style="{StaticResource DataLabelStyle}" Margin="0,0,0,5"/>
<StackPanel>
<Button Content="过程报表" Style="{StaticResource ReportButtonStyle}"
Margin="3,2" Height="28" Click="Button_Click_5"/>
<Button Content="报 表" Style="{StaticResource ReportButtonStyle}"
Margin="3,2" Height="28" Click="Button_Click_4"/>
<Button Content="返 回" Style="{StaticResource ExitButtonStyle}"
Margin="3,2" Height="28" Click="Button_Click_6"/>
</StackPanel>
</StackPanel>
<!-- 扭矩-转速曲线按钮 -->
<!--<StackPanel Margin="0,15,0,0">
<TextBlock Text="扭矩-转速曲线" Style="{StaticResource DataLabelStyle}"
Margin="0,0,0,5"/>
<Button Content="显示曲线" Style="{StaticResource ReportButtonStyle}"
Margin="3" Height="30"/>
</StackPanel>-->
</StackPanel>
</Border>
<!-- 右侧:数据管理和图表预览 -->
<Border Grid.Column="2" Style="{StaticResource CompactCardStyle}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<!-- 清除操作 -->
<StackPanel Grid.Row="0" Margin="0,0,0,10">
<TextBlock Text="清除操作" Style="{StaticResource SectionTitleStyle}"/>
<Button Content="清除数据" Style="{StaticResource ClearButtonStyle}"
Height="30" Margin="0,2" Click="Button_Click_7"/>
<TextBlock Text="清除所有测试数据" Style="{StaticResource DataLabelStyle}"
FontSize="11" HorizontalAlignment="Center"
Margin="0,3" Foreground="#7F8C8D"/>
</StackPanel>
<!-- 图表预览 -->
<Border Grid.Row="1" Background="#F8F9F9" CornerRadius="6"
BorderBrush="#D5D8DC" BorderThickness="1"
Margin="0,0,0,10">
<Grid>
<oxy:PlotView x:Name="plotView"/>
</Grid>
</Border>
<!-- 结果记录 -->
<StackPanel Grid.Row="2">
<TextBlock Text="结果记录" Style="{StaticResource SectionTitleStyle}"/>
<StackPanel>
<Button Content="导出结果" Style="{StaticResource ReportButtonStyle}"
Margin="3,2" Height="28" Click="Button_Click_8"/>
<!--<Button Content="打印报告" Style="{StaticResource ReportButtonStyle}"
Margin="3,2" Height="28" Click="Button_Click_9"/>-->
<!--<Button Content="数据备份" Style="{StaticResource ReportButtonStyle}"
Margin="3,2" Height="28"/>-->
</StackPanel>
</StackPanel>
</Grid>
</Border>
</Grid>
<!-- 底部状态栏 -->
<Border Grid.Row="2" Background="#2C3E50" CornerRadius="6" Padding="10,8">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Orientation="Horizontal">
<Border Name="stopB" Background="#27AE60" CornerRadius="3" Padding="6,3"
VerticalAlignment="Center" Margin="0,0,10,0">
<TextBlock Name="stop" Text="急停状态" Foreground="White" FontWeight="SemiBold" FontSize="12"/>
</Border>
<!--<TextBlock Text="急停已复位,系统可重新运行" Foreground="#ECF0F1"
VerticalAlignment="Center" FontSize="12"/>-->
</StackPanel>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<TextBlock Text="状态:" Foreground="#ECF0F1"
VerticalAlignment="Center" Margin="0,0,5,0" FontSize="12"/>
<Border Name="statusB" Background="#27AE60" CornerRadius="3"
Padding="6,3" VerticalAlignment="Center">
<TextBlock Name="status" Text="就绪" Foreground="White" FontWeight="SemiBold" FontSize="12"/>
</Border>
<TextBlock Text=" | " Foreground="#7F8C8D"
VerticalAlignment="Center" Margin="5,0" FontSize="12"/>
</StackPanel>
</Grid>
</Border>
</Grid>
</Window>