20220510_191_upperpc/AutomaticApp/MainWindow.xaml
2023-07-27 10:57:34 +08:00

513 lines
22 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.

<Window
x:Class="AutomaticApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:converters="clr-namespace:AutomaticApp.Common"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:AutomaticApp"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Name="Window"
Title="福建及海峡地震观测网工程浮标式海洋地震观测站建设项目"
Width="2000"
Height="1300"
Background="Transparent"
FontFamily="Microsoft YaHei"
FontSize="12"
FontWeight="ExtraLight"
WindowStartupLocation="CenterScreen"
mc:Ignorable="d">
<WindowChrome.WindowChrome>
<WindowChrome GlassFrameThickness="-1" />
</WindowChrome.WindowChrome>
<!-- 资源 -->
<Window.Resources>
<!-- 资源字典 -->
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<!-- 统一的按钮样式 -->
<!--<ResourceDictionary Source="../Assets/Styles/DefaultStyle.xaml"/>-->
<ResourceDictionary>
<!-- 复选框按钮样式 -->
<Style x:Key="NavButtonStyle" TargetType="RadioButton">
<Setter Property="Foreground" Value="White" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Border
Name="back"
Background="Transparent"
CornerRadius="8">
<ContentControl
Margin="20,4"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Content="{TemplateBinding Content}"
FontSize="13" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="back" Property="Background" Value="#44FFFFFF" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
<Style x:Key="StationChangeStyle" TargetType="RadioButton">
<Setter Property="Width" Value="50" />
<Setter Property="Height" Value="22" />
<Setter Property="Foreground" Value="#888" />
<Setter Property="Background" Value="#DDD" />
<Setter Property="FontSize" Value="11" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Border Background="{TemplateBinding Background}">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Background" Value="Orange" />
<Setter Property="Foreground" Value="White" />
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="DataGridStyle" TargetType="{x:Type DataGrid}">
<Setter Property="AutoGenerateColumns" Value="False" />
<Setter Property="CanUserAddRows" Value="False" />
<Setter Property="CanUserDeleteRows" Value="False" />
<Setter Property="CanUserReorderColumns" Value="False" />
<Setter Property="CanUserResizeColumns" Value="True" />
<Setter Property="CanUserResizeRows" Value="False" />
<Setter Property="CanUserSortColumns" Value="True" />
<Setter Property="GridLinesVisibility" Value="All" />
<Setter Property="HeadersVisibility" Value="All" />
<Setter Property="IsReadOnly" Value="True" />
<Setter Property="MinRowHeight" Value="40" />
<Setter Property="Background" Value="#FF285173" />
<Setter Property="Foreground" Value="White" />
</Style>
<Style x:Key="ColumnHeaderStyle" TargetType="DataGridColumnHeader">
<Setter Property="Height" Value="30" />
<Setter Property="Foreground" Value="White" />
<Setter Property="FontSize" Value="12" />
<Setter Property="Background" Value="#FF285173" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
</Style>
<converters:ConnectConvert x:Key="ConnectConvert" />
</ResourceDictionary>
</Window.Resources>
<Grid>
<!-- 背景颜色 -->
<Grid.Background>
<RadialGradientBrush>
<GradientStop Offset="0" Color="#FF285173" />
<GradientStop Offset="0.3" Color="#FF244967" />
<GradientStop Offset="1" Color="#FF14273A" />
</RadialGradientBrush>
</Grid.Background>
<Grid.RowDefinitions>
<RowDefinition Height="45" />
<RowDefinition Height="38" />
<RowDefinition Height="30" />
<RowDefinition />
<RowDefinition Height="20" />
</Grid.RowDefinitions>
<!-- 标题栏部分 -->
<Border BorderBrush="#5518AABD" BorderThickness="0,0,0,1">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="45" />
<ColumnDefinition Width="auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Image Source="Assets/Images/logo.png" />
<StackPanel
Grid.Column="1"
Margin="10,0,0,0"
VerticalAlignment="Center">
<TextBlock
Margin="0,-2"
FontSize="17"
Foreground="White"
Text="{Binding Title, ElementName=Window}" />
<TextBlock
Margin="0,2,0,0"
FontSize="12"
Foreground="LightGray"
Text="不忘初心 方得始终" />
</StackPanel>
<Grid Grid.Column="2">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="13" />
</Grid.RowDefinitions>
<!-- 顶栏 设置鼠标左键按下事件(可以拖动窗口) -->
<Border
Height="132"
VerticalAlignment="Top"
CornerRadius="10,10,0,0"
MouseLeftButtonDown="Border_MouseLeftButtonDown" />
<Border
Width="200"
HorizontalAlignment="Right"
Background="Transparent"
WindowChrome.IsHitTestVisibleInChrome="True">
<StackPanel HorizontalAlignment="Right" Orientation="Horizontal">
<Button
Click="MinButton_Click"
Content="&#xe624;"
Style="{StaticResource ControlButtonStyle}" />
<Button
Click="MaxButton_Click"
Content="&#xe60f;"
Style="{StaticResource ControlButtonStyle}" />
<Button
Background="DarkRed"
Click="Button_Click"
Content="&#xe661;"
Style="{StaticResource ControlButtonStyle}" />
</StackPanel>
</Border>
<Border
Grid.Row="1"
BorderBrush="#5518AABD"
BorderThickness="0,1,0,0" />
<Border Grid.Row="1" Margin="0,3,0,2">
<Border.Background>
<VisualBrush
TileMode="Tile"
Viewport="0,0,7,7"
ViewportUnits="Absolute">
<VisualBrush.Visual>
<Grid Width="20" Height="20">
<Line
Stroke="Gray"
StrokeThickness="1"
X1="0"
X2="10"
Y1="10"
Y2="0" />
</Grid>
</VisualBrush.Visual>
</VisualBrush>
</Border.Background>
</Border>
</Grid>
</Grid>
</Border>
<!-- 系统状态连接信息 -->
<StackPanel
Grid.Row="1"
Margin="40,0,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Orientation="Horizontal">
<TextBlock
VerticalAlignment="Center"
FontFamily="../Assets/Fonts/#iconfont"
FontSize="20"
Foreground="#55FFFFFF"
Text="&#xe67b;" />
<TextBlock
Margin="10,0"
VerticalAlignment="Center"
FontSize="13"
Foreground="#99FFFFFF"
Text="系统状态信息" />
<!-- 北斗通信 -->
<TextBlock
Margin="20,0,0,0"
VerticalAlignment="Center"
Foreground="#99FFFFFF"
Text="北斗通信:" />
<TextBlock
VerticalAlignment="Center"
Foreground="{Binding EM.ComStateMessage, Converter={StaticResource ResourceKey=ConnectConvert}}"
Text="{Binding EM.ComStateMessage}">
<TextBlock.ToolTip>
<ToolTip
Name="BeidouCommunication"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Content="{Binding EM.ComConMessage}"
Style="{DynamicResource MyToolTipStyle}" />
</TextBlock.ToolTip>
</TextBlock>
<!-- Socket1通信 -->
<TextBlock
Margin="20,0,0,0"
VerticalAlignment="Center"
Foreground="#99FFFFFF"
Text="下位机通信①:" />
<TextBlock
VerticalAlignment="Center"
Foreground="{Binding EM.Socket1StateMessage, Converter={StaticResource ResourceKey=ConnectConvert}}"
Text="{Binding EM.Socket1StateMessage}">
<TextBlock.ToolTip>
<ToolTip
Name="SocketCommunication1"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Content="{Binding EM.Socket1ConMessage}"
Style="{DynamicResource MyToolTipStyle}" />
</TextBlock.ToolTip>
</TextBlock>
<!-- 站点1FTP通信 -->
<!--
<TextBlock
Margin="20,0,0,0"
VerticalAlignment="Center"
Foreground="#99FFFFFF"
Text="FTP通信①" />
<TextBlock
VerticalAlignment="Center"
Foreground="#FF2BEDF1"
Text="未连接">
<TextBlock.ToolTip>
<ToolTip
Name="FTPCommunication1"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Content="目标IP : 10.10.10.2 &#13;端口号22"
Style="{DynamicResource MyToolTipStyle}" />
</TextBlock.ToolTip>
</TextBlock>-->
<!-- Socket2通信 -->
<TextBlock
Margin="20,0,0,0"
VerticalAlignment="Center"
Foreground="#99FFFFFF"
Text="下位机通信②:" />
<TextBlock
VerticalAlignment="Center"
Foreground="{Binding EM.Socket2StateMessage, Converter={StaticResource ResourceKey=ConnectConvert}}"
Text="{Binding EM.Socket2StateMessage}">
<TextBlock.ToolTip>
<ToolTip
Name="SocketCommunication2"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Content="{Binding EM.Socket2ConMessage}"
Style="{DynamicResource MyToolTipStyle}" />
</TextBlock.ToolTip>
</TextBlock>
<!-- 站点2FTP通信 -->
<!--<TextBlock
Margin="20,0,0,0"
VerticalAlignment="Center"
Foreground="#99FFFFFF"
Text="FTP通信②" />
<TextBlock
VerticalAlignment="Center"
Foreground="#FF2BEDF1"
Text="未连接">
<TextBlock.ToolTip>
<ToolTip
Name="FTPCommunication2"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Content="目标IP : 10.10.10.2 &#13;端口号22"
Style="{DynamicResource MyToolTipStyle}" />
</TextBlock.ToolTip>
</TextBlock>-->
<!-- 信标通信 -->
<!--<TextBlock
Margin="20,0,0,0"
VerticalAlignment="Center"
Foreground="#99FFFFFF"
Text="信标:" />
<TextBlock
VerticalAlignment="Center"
Foreground="#FF2BEDF1"
Text="未连接">
<TextBlock.ToolTip>
<ToolTip
Name="Beacon"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Content="目标IP : 10.10.10.3 &#13;端口号45"
Style="{DynamicResource MyToolTipStyle}" />
</TextBlock.ToolTip>
</TextBlock>-->
<TextBlock
Margin="20,0,20,0"
VerticalAlignment="Center"
Foreground="Green"
Text="{Binding BDCountDown}" />
<Button
Width="60"
Click="Button_Click_1"
Content="详情"
Style="{StaticResource ButtonStyle}"
Visibility="{Binding visibility}">
<Button.ToolTip>
<Border BorderBrush="Black" BorderThickness="1">
<DataGrid
ColumnHeaderStyle="{DynamicResource ColumnHeaderStyle}"
ItemsSource="{Binding sendMessageLists}"
Style="{DynamicResource DataGridStyle}">
<DataGrid.Columns>
<DataGridTextColumn
Width="60"
Binding="{Binding ID}"
Header="序号" />
<DataGridTextColumn
Width="60"
Binding="{Binding StationID}"
Header="站点" />
<DataGridTextColumn
Width="120"
Binding="{Binding MessageContent}"
Header="待发送信息" />
<DataGridTextColumn
Width="120"
Binding="{Binding RemindTime}"
Header="剩余时间/s" />
</DataGrid.Columns>
</DataGrid>
</Border>
</Button.ToolTip>
</Button>
</StackPanel>
<!-- 时间日期状态信息 -->
<StackPanel
Grid.Row="1"
Margin="30,0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Orientation="Horizontal">
<TextBlock
x:Name="Datatime"
VerticalAlignment="Center"
FontFamily="../Assets/Fonts/#Digital Display"
FontSize="25"
Foreground="White" />
<StackPanel
Margin="15,0,0,0"
TextBlock.FontSize="10"
TextBlock.Foreground="White">
<TextBlock x:Name="Date" />
<TextBlock x:Name="week" HorizontalAlignment="Right" />
</StackPanel>
</StackPanel>
<!-- 菜单栏部分 -->
<Grid Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="150" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<StackPanel
Margin="20,0,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Orientation="Horizontal">
<RadioButton
Command="{Binding NavChangedCommand}"
CommandParameter="1"
Content="站点 #1"
IsChecked="True"
Style="{DynamicResource StationChangeStyle}" />
<RadioButton
Command="{Binding NavChangedCommand}"
CommandParameter="2"
Content="站点 #2"
Style="{DynamicResource StationChangeStyle}" />
</StackPanel>
<StackPanel
Grid.Column="1"
Margin="20,0,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Orientation="Horizontal">
<!-- 浮标传感器数据 -->
<RadioButton
Command="{Binding NavChangedCommand}"
CommandParameter="Buoystation"
Content="浮标"
IsChecked="True"
Style="{DynamicResource NavButtonStyle}" />
<!-- 接驳盒传感器数据 -->
<RadioButton
Command="{Binding NavChangedCommand}"
CommandParameter="ConboxStation"
Content="接驳盒"
Style="{DynamicResource NavButtonStyle}" />
<!-- 系统控制 -->
<RadioButton
Command="{Binding NavChangedCommand}"
CommandParameter="ControlPageView"
Content="系统控制"
Style="{DynamicResource NavButtonStyle}" />
<!-- 日志记录 -->
<RadioButton
Command="{Binding NavChangedCommand}"
CommandParameter="LogView"
Content="日志记录"
Style="{DynamicResource NavButtonStyle}" />
</StackPanel>
</Grid>
<!-- 内容部分 -->
<ContentControl Grid.Row="3" Content="{Binding PageContent}" />
<!-- 底部状态栏部分 -->
<Border
Grid.Row="4"
BorderBrush="#5518AABD"
BorderThickness="0,1,0,0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="auto" />
</Grid.ColumnDefinitions>
<Border Margin="0,5">
<Border.Background>
<VisualBrush
TileMode="Tile"
Viewport="0,0,7,7"
ViewportUnits="Absolute">
<VisualBrush.Visual>
<Grid Width="20" Height="20">
<Line
Stroke="Gray"
StrokeThickness="1"
X1="0"
X2="10"
Y1="10"
Y2="0" />
</Grid>
</VisualBrush.Visual>
</VisualBrush>
</Border.Background>
</Border>
<!--<TextBlock Grid.Column="1" Text="2022-07-30" Foreground="DarkRed" VerticalAlignment="Center" FontSize="11" Margin="10,1" FontWeight="Bold"/>-->
</Grid>
</Border>
</Grid>
</Window>