280 lines
12 KiB
XML
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>
|