20220510_191_upperpc/AutomaticApp/MainWindow.xaml

513 lines
22 KiB
Plaintext
Raw Permalink Normal View History

2023-07-27 02:57:34 +00:00
<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>