Files
NoBuilding/建材不燃性试验炉/BalanceChartWindow.xaml
2026-01-31 09:14:24 +08:00

280 lines
12 KiB
XML

<dx:ThemedWindow
x:Class="jiancaiburanxing.BalanceChartWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:dxc="http://schemas.devexpress.com/winfx/2008/xaml/charts"
Title="温度平衡曲线图"
Height="650"
Width="1000"
WindowStartupLocation="CenterOwner"
Background="White">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<!-- 标题栏 -->
<Border Grid.Row="0"
Background="#2C3E50"
Padding="15"
Margin="0,0,0,5">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0">
<TextBlock Text="炉内温度平衡监控曲线"
FontSize="18"
FontWeight="Bold"
Foreground="White"/>
<TextBlock Text="实时显示炉内温度变化趋势与目标温度对比"
FontSize="12"
Foreground="#BDC3C7"/>
</StackPanel>
<StackPanel Grid.Column="1" Orientation="Horizontal" >
<dx:SimpleButton x:Name="btnClearData"
Content="清空数据"
Width="100"
Height="30"
FontSize="12"
Background="#E74C3C"
Foreground="White"
CornerRadius="4"
Click="btnClearData_Click"
Margin="10,0,0,0"/>
<dx:SimpleButton x:Name="btnExportData"
Content="导出数据"
Width="100"
Height="30"
FontSize="12"
Background="#3498DB"
Foreground="White"
CornerRadius="4"
Margin="10,0,0,0"/>
<dx:SimpleButton x:Name="btnClose"
Content="关闭"
Width="80"
Height="30"
FontSize="12"
Background="#95A5A6"
Foreground="White"
CornerRadius="4"
Click="btnClose_Click"
Margin="10,0,0,0"/>
</StackPanel>
</Grid>
</Border>
<!-- 图表区域 -->
<Border Grid.Row="1"
Margin="10,5,10,5"
BorderBrush="#DDDDDD"
BorderThickness="1"
Background="White">
<dxc:ChartControl x:Name="temperatureChart">
<!-- 图表标题 -->
<dxc:ChartControl.Titles>
<dxc:Title Content="炉内温度实时监控曲线"
FontSize="14"
FontWeight="Bold"/>
</dxc:ChartControl.Titles>
<!-- 图例 -->
<dxc:ChartControl.Legend>
<dxc:Legend HorizontalAlignment="Right"
VerticalAlignment="Top"
Visibility="Visible"/>
</dxc:ChartControl.Legend>
<!-- XY图表 -->
<dxc:XYDiagram2D>
<!-- X轴 -->
<dxc:XYDiagram2D.AxisX>
<dxc:AxisX2D>
<dxc:AxisX2D.Title>
<dxc:AxisTitle Content="时间 (秒)"/>
</dxc:AxisX2D.Title>
<dxc:AxisX2D.WholeRange>
<dxc:Range MinValue="0" MaxValue="600"/>
</dxc:AxisX2D.WholeRange>
<dxc:AxisX2D.Label>
<dxc:AxisLabel TextPattern="{}{V}秒"/>
</dxc:AxisX2D.Label>
</dxc:AxisX2D>
</dxc:XYDiagram2D.AxisX>
<!-- Y轴 -->
<dxc:XYDiagram2D.AxisY>
<dxc:AxisY2D>
<dxc:AxisY2D.Title>
<dxc:AxisTitle Content="温度 (°C)"/>
</dxc:AxisY2D.Title>
<dxc:AxisY2D.WholeRange>
<dxc:Range MinValue="0" MaxValue="800"/>
</dxc:AxisY2D.WholeRange>
<dxc:AxisY2D.Label>
<dxc:AxisLabel TextPattern="{}{V}°C"/>
</dxc:AxisY2D.Label>
</dxc:AxisY2D>
</dxc:XYDiagram2D.AxisY>
<!-- 温度曲线 -->
<dxc:LineSeries2D x:Name="temperatureSeries"
DisplayName="炉内温度"
MarkerVisible="True"
MarkerSize="6"
CrosshairLabelPattern="时间: {A}秒\n温度: {V}°C">
<dxc:LineSeries2D.LineStyle>
<dxc:LineStyle Thickness="2">
</dxc:LineStyle>
</dxc:LineSeries2D.LineStyle>
</dxc:LineSeries2D>
<!-- 目标温度线 -->
<dxc:LineSeries2D x:Name="targetSeries"
DisplayName="目标温度 (750°C)"
MarkerVisible="False"
CrosshairLabelPattern="目标温度: {V}°C">
<dxc:LineSeries2D.LineStyle>
<dxc:LineStyle Thickness="2">
<dxc:LineStyle.DashStyle>
<DashStyle Dashes="4,2"/>
</dxc:LineStyle.DashStyle>
</dxc:LineStyle>
</dxc:LineSeries2D.LineStyle>
</dxc:LineSeries2D>
</dxc:XYDiagram2D>
</dxc:ChartControl>
</Border>
<!-- 主要统计信息 -->
<Border Grid.Row="2"
Background="#F5F7FA"
Padding="15"
Margin="10,0,10,5"
CornerRadius="4"
BorderBrush="#DDDDDD"
BorderThickness="1">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<!-- 运行时间 -->
<StackPanel Grid.Column="0">
<TextBlock Text="已运行时间:" FontSize="12" Foreground="#666666"/>
<TextBlock x:Name="txtElapsedTime" Text="0秒" FontSize="14" FontWeight="Bold" Foreground="#2C3E50"/>
</StackPanel>
<!-- 当前温度 -->
<StackPanel Grid.Column="1">
<TextBlock Text="当前温度:" FontSize="12" Foreground="#666666"/>
<TextBlock x:Name="txtCurrentTemp" Text="0°C" FontSize="14" FontWeight="Bold" Foreground="#2C3E50"/>
</StackPanel>
<!-- 温度范围 -->
<StackPanel Grid.Column="2">
<TextBlock Text="温度范围:" FontSize="12" Foreground="#666666"/>
<TextBlock x:Name="txtTempRange" Text="0°C" FontSize="14" FontWeight="Bold" Foreground="#2C3E50"/>
</StackPanel>
<!-- 与目标温差 -->
<StackPanel Grid.Column="3">
<TextBlock Text="与目标温差:" FontSize="12" Foreground="#666666"/>
<TextBlock x:Name="txtTempDifference" Text="0°C" FontSize="14" FontWeight="Bold" Foreground="#2C3E50"/>
</StackPanel>
<!-- 数据点数 -->
<StackPanel Grid.Column="4">
<TextBlock Text="数据点数:" FontSize="12" Foreground="#666666"/>
<TextBlock x:Name="txtDataPoints" Text="0" FontSize="14" FontWeight="Bold" Foreground="#2C3E50"/>
</StackPanel>
</Grid>
</Border>
<!-- 详细统计信息 -->
<Border Grid.Row="3"
Background="#F5F7FA"
Padding="15"
Margin="10,0,10,5"
CornerRadius="4"
BorderBrush="#DDDDDD"
BorderThickness="1">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<!-- 最高温度 -->
<StackPanel Grid.Column="0">
<TextBlock Text="最高温度:" FontSize="12" Foreground="#666666"/>
<TextBlock x:Name="txtMaxTemp" Text="0°C" FontSize="14" FontWeight="Bold" Foreground="#E74C3C"/>
</StackPanel>
<!-- 最低温度 -->
<StackPanel Grid.Column="1">
<TextBlock Text="最低温度:" FontSize="12" Foreground="#666666"/>
<TextBlock x:Name="txtMinTemp" Text="0°C" FontSize="14" FontWeight="Bold" Foreground="#3498DB"/>
</StackPanel>
<!-- 平均温度 -->
<StackPanel Grid.Column="2">
<TextBlock Text="平均温度:" FontSize="12" Foreground="#666666"/>
<TextBlock x:Name="txtAvgTemp" Text="0°C" FontSize="14" FontWeight="Bold" Foreground="#2C3E50"/>
</StackPanel>
<!-- 温度稳定性 -->
<StackPanel Grid.Column="3">
<TextBlock Text="温度波动:" FontSize="12" Foreground="#666666"/>
<TextBlock x:Name="txtTempFluctuation" Text="0°C" FontSize="14" FontWeight="Bold" Foreground="#F39C12"/>
</StackPanel>
<!-- 当前状态 -->
<StackPanel Grid.Column="4">
<TextBlock Text="当前状态:" FontSize="12" Foreground="#666666"/>
<TextBlock x:Name="txtStatus" Text="就绪" FontSize="14" FontWeight="Bold" Foreground="#27AE60"/>
</StackPanel>
</Grid>
</Border>
<!-- 状态栏 -->
<StatusBar Grid.Row="4"
Background="#ECF0F1"
Height="25"
Margin="0">
<StatusBarItem>
<TextBlock x:Name="txtStatusBar" Text="就绪" FontSize="11" Foreground="#666666"/>
</StatusBarItem>
<Separator/>
<StatusBarItem HorizontalAlignment="Right">
<TextBlock Text="温度平衡监控系统" FontSize="11" Foreground="#666666" Margin="5,0"/>
</StatusBarItem>
</StatusBar>
</Grid>
</dx:ThemedWindow>