20240801_FJEQ_upperpc/FujianEarthquake/FujianEarthquake/Views/RealTimeDataView.xaml
XuMin 0c0f9f371a 基本框架搭建完成;
实时数据展示页面和日志记录页面部分完成;
2024-08-22 13:55:37 +08:00

235 lines
13 KiB
XML
Raw 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.

<UserControl x:Class="FujianEarthquake.Views.RealTimeDataView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:FujianEarthquake.Views"
xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
xmlns:viewmodels="clr-namespace:FujianEarthquake.ViewModels"
xmlns:converters="clr-namespace:FujianEarthquake.Common"
d:DataContext="{d:DesignInstance Type=viewmodels:RealTimeDataViewModel}"
mc:Ignorable="d"
FontFamily="{StaticResource DigitalDisplay}"
d:DesignHeight="850" d:DesignWidth="1550" Name="RealTimeData">
<UserControl.Resources>
<ResourceDictionary>
<Style TargetType="GroupBox">
<Setter Property="Margin" Value="10,5"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="GroupBox">
<Grid>
<!--左上角-->
<Polyline Points="0 30,0 10,10 0,30 0" Stroke="#9918AABD" StrokeThickness="1"
VerticalAlignment="Top" HorizontalAlignment="Left"/>
<!--左上角点-->
<Ellipse Width="4" Height="4" VerticalAlignment="Top" HorizontalAlignment="Left"
Fill="#9918AABD" Margin="24,-2,0,0"/>
<Ellipse Width="4" Height="4" VerticalAlignment="Top" HorizontalAlignment="Left"
Fill="#9918AABD" Margin="-2,24,0,0"/>
<!--右上角-->
<Path Data="M0 0, 3 3, 30 3, 33 0, 68 0, 73 7,78 7, 78 10M8 0, 25 0"
Stroke="#5518AABD" VerticalAlignment="Top" HorizontalAlignment="Right"/>
<!--左下角-->
<Polyline Points="0,0 0,15 10,15" Stroke="#5518AABD" VerticalAlignment="Bottom"
HorizontalAlignment="Left"/>
<!--右下角-->
<Polyline Points="10,0 0,10" Stroke="#5518AABD" VerticalAlignment="Bottom"
HorizontalAlignment="Right"/>
<!--右下角图表-->
<Polyline Points="0,7 7 7 7 0" Fill="#9918AABD" VerticalAlignment="Bottom"
HorizontalAlignment="Right"/>
<Border BorderBrush="#5518AABD" BorderThickness="0,1,0,0" VerticalAlignment="Top"
Margin="30,-0.5,78,0"/>
<Border BorderBrush="#5518AABD" BorderThickness="0,0,1,0" HorizontalAlignment="Right"
Margin="0,10"/>
<Border BorderBrush="#5518AABD" BorderThickness="0,1,0,0" VerticalAlignment="Bottom"
Margin="10,0"/>
<Border BorderBrush="#5518AABD" BorderThickness="0,0,1,0" HorizontalAlignment="Left"
Margin="-0.5,15"/>
<!--箭头-->
<Path Data="M0 0,3 0,5 4,3 8,0 8,3 4" Fill="#9918AABD" VerticalAlignment="Top"
HorizontalAlignment="Left" Margin="10,13"/>
<Path Data="M0 0,3 0,5 4,3 8,0 8,3 4" Fill="#5518AABD" VerticalAlignment="Top"
HorizontalAlignment="Left" Margin="16,13"/>
<!--字体-->
<TextBlock Text="{TemplateBinding Header}" Foreground="#18AABD"
VerticalAlignment="Top" HorizontalAlignment="Left" Margin="25,12"/>
<!--占位对象-->
<ContentPresenter/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="ToolTip">
<Setter Property="Foreground" Value="White"/>
<!-- 设置ToolTip字体颜色为白色 -->
<Setter Property="FontSize" Value="13"/>
<!-- 设置ToolTip字体大小为14 -->
<!--<Setter Property="FontWeight" Value="Bold"/>-->
<!-- 设置ToolTip字体为粗体 -->
<Setter Property="Background" Value="{DynamicResource RegionBrush}"/>
<!-- 设置ToolTip背景颜色为浅灰色 -->
<Setter Property="FontFamily" Value="{StaticResource DigitalDisplay}"/>
<!-- 设置ToolTip字体为方正楷体简体 -->
<Setter Property="TextOptions.TextFormattingMode" Value="Ideal"/>
<!-- 设置ToolTip中文本的格式化模式 -->
<Setter Property="TextOptions.TextRenderingMode" Value="ClearType"/>
<!-- 设置ToolTip中文本的渲染模式 -->
<Setter Property="ToolTipService.ShowDuration" Value="10000"/>
<!--设置ToolTip中数据的显示时间-->
</Style>
<!--<converters:VisibilityConverter x:Key="VisibilityConverter" />
<converters:AspectRatioConverter x:Key="AspectRatioConverter" />-->
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<!--第一列-->
<UniformGrid Columns="1" Margin="10,0">
<GroupBox Header="接驳盒状态信息">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="2.2*"/>
<RowDefinition/>
</Grid.RowDefinitions>
<ItemsControl Grid.Row="1" ItemsSource="{Binding JunctionBoxStatus}" VerticalAlignment="Center">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="3"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"
Margin="0,5">
<TextBlock Text="{Binding Value,StringFormat={}{0:F2}}"
HorizontalAlignment="Center" FontSize="16"
Foreground="#FF2BEDF1" Margin="0,10"/>
<TextBlock Text="{Binding Header}" Foreground="#AAFFFFFF"
FontSize="12"/>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<StackPanel Grid.Row="2" Orientation="Horizontal">
<StackPanel VerticalAlignment="Top" HorizontalAlignment="Left" Orientation="Vertical"
Margin="38,5">
<Image Source="{Binding LeakageImage}" Margin="0,0,0,10" Width="18"/>
<TextBlock Text="接驳盒漏水情况" Foreground="#AAFFFFFF"
FontSize="12"/>
</StackPanel>
</StackPanel>
<!--右上角图例 采集时间-->
<StackPanel Orientation="Horizontal" VerticalAlignment="Top"
HorizontalAlignment="Right" Margin="10">
<Border Width="6" Height="6" Background="#552BEDF1" Margin="5,0"/>
<TextBlock Text="{Binding DataTimeConboxTem,StringFormat=yyyy/MM/dd HH:mm:ss}"
FontSize="11" Foreground="#44FFFFFF"/>
</StackPanel>
</Grid>
</GroupBox>
<!--折线图-->
<GroupBox Header="接驳盒温度(℃)">
<Grid>
<lvc:CartesianChart Margin="20,25,0,10"
Series="{Binding SeriesCollectionConboxTem}"
DisableAnimations="True" Zoom="X">
<!--提示-->
<lvc:CartesianChart.DataTooltip>
<lvc:DefaultTooltip BulletSize="20" SelectionMode="SharedXValues" IsEnabled="False"/>
</lvc:CartesianChart.DataTooltip>
<!--X轴-->
<lvc:CartesianChart.AxisX>
<lvc:Axis LabelFormatter="{Binding XFormatter}">
<lvc:Axis.Separator>
<lvc:Separator StrokeThickness="0"/>
</lvc:Axis.Separator>
</lvc:Axis>
</lvc:CartesianChart.AxisX>
<!--Y轴-->
<lvc:CartesianChart.AxisY>
<lvc:Axis ShowLabels="True" LabelFormatter="{Binding YFormatterTem}">
<lvc:Axis.Separator>
<lvc:Separator Stroke="#11FFFFFF"/>
</lvc:Axis.Separator>
</lvc:Axis>
</lvc:CartesianChart.AxisY>
</lvc:CartesianChart>
<!--右上角图例 采集时间-->
<StackPanel Orientation="Horizontal" VerticalAlignment="Top"
HorizontalAlignment="Right" Margin="10">
<Border Width="6" Height="6" Background="#552BEDF1" Margin="5,0"/>
<TextBlock Text="{Binding DataTimeConboxTem,StringFormat=yyyy/MM/dd HH:mm:ss}"
FontSize="11" Foreground="#44FFFFFF"/>
</StackPanel>
</Grid>
</GroupBox>
<!--海底基站湿度折线图-->
<GroupBox Header="接驳盒湿度(%" Grid.Row="1">
<Grid>
<lvc:CartesianChart Margin="20,25,0,10"
Series="{Binding SeriesCollectionConboxHum}"
DisableAnimations="True" Zoom="X">
<!--提示-->
<lvc:CartesianChart.DataTooltip>
<lvc:DefaultTooltip BulletSize="20" SelectionMode="SharedXValues" IsEnabled="False"/>
</lvc:CartesianChart.DataTooltip>
<!--X轴-->
<lvc:CartesianChart.AxisX>
<lvc:Axis LabelFormatter="{Binding XFormatter}">
<lvc:Axis.Separator>
<lvc:Separator StrokeThickness="0"/>
</lvc:Axis.Separator>
</lvc:Axis>
</lvc:CartesianChart.AxisX>
<!--Y轴-->
<lvc:CartesianChart.AxisY>
<lvc:Axis ShowLabels="True" LabelFormatter="{Binding YFormatterHum}">
<lvc:Axis.Separator>
<lvc:Separator Stroke="#11FFFFFF"/>
</lvc:Axis.Separator>
</lvc:Axis>
</lvc:CartesianChart.AxisY>
</lvc:CartesianChart>
<!--右上角图例 采集时间-->
<StackPanel Orientation="Horizontal" VerticalAlignment="Top"
HorizontalAlignment="Right" Margin="10">
<Border Width="6" Height="6" Background="#552BEDF1" Margin="5,0"/>
<TextBlock Text="{Binding DataTimeConboxHum,StringFormat=yyyy/MM/dd HH:mm:ss}"
FontSize="11" Foreground="#44FFFFFF"/>
</StackPanel>
</Grid>
</GroupBox>
</UniformGrid>
</Grid>
</UserControl>