20230724_MBJC_upperpc/Views/AnchorPointView.xaml
2024-02-27 17:21:02 +08:00

305 lines
15 KiB
XML

<UserControl
x:Class="_20230724_MBJC_upperpc.Views.AnchorPointView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:converters="clr-namespace:_20230724_MBJC_upperpc.Common"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:_20230724_MBJC_upperpc.Views"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d">
<UserControl.Resources>
<ResourceDictionary>
<converters:AspectRatioConverter x:Key="AspectRatioConverter" />
<converters:VisibilityConverter x:Key="VisibilityConverter" />
<converters:AlarmConverter x:Key="AlarmConverter" />
<Style x:Key="CommonTextStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="30" />
<Setter Property="Foreground" Value="White" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="9*" />
<ColumnDefinition Width="7*" />
</Grid.ColumnDefinitions>
<Grid Name="LeftGrid" Grid.Column="0">
<local:AnchorModel
x:Name="AnchorModel"
AnimationEnable="True"
Rotate_X="{Binding Beacon.Beacon_Pitch_Angle}"
Rotate_Y="{Binding Beacon.Beacon_Heading_Angle}"
Rotate_Z="{Binding Beacon.Beacon_Roll_Angle}"
TBDEnable="True">
<local:AnchorModel.Visibility>
<MultiBinding Converter="{StaticResource ResourceKey=VisibilityConverter}">
<MultiBinding.Bindings>
<Binding ElementName="AnchorModel" Path="Name" />
<Binding Path="Model_Visibility" />
</MultiBinding.Bindings>
</MultiBinding>
</local:AnchorModel.Visibility>
</local:AnchorModel>
<local:SupportModel
x:Name="SupportModel"
AnimationEnable="True"
Rotate_X="{Binding Beacon.Beacon_Pitch_Angle}"
Rotate_Y="{Binding Beacon.Beacon_Heading_Angle}"
Rotate_Z="{Binding Beacon.Beacon_Roll_Angle}"
TBDEnable="True">
<local:SupportModel.Visibility>
<MultiBinding Converter="{StaticResource ResourceKey=VisibilityConverter}">
<MultiBinding.Bindings>
<Binding ElementName="SupportModel" Path="Name" />
<Binding Path="Model_Visibility" />
</MultiBinding.Bindings>
</MultiBinding>
</local:SupportModel.Visibility>
</local:SupportModel>
<local:InitialView
Width="{Binding ElementName=LeftGrid, Path=ActualWidth, Converter={StaticResource AspectRatioConverter}, ConverterParameter=4}"
Height="{Binding ElementName=LeftGrid, Path=ActualHeight, Converter={StaticResource AspectRatioConverter}, ConverterParameter=4}"
Margin="10,0,0,10"
HorizontalAlignment="Left"
VerticalAlignment="Bottom"
Heading_Angle="{Binding Beacon.Beacon_Heading_Angle}"
PYPercent_FY="{Binding AlarmInfo.PYPercent_FY}"
PYPercent_HG="{Binding AlarmInfo.PYPercent_HG}"
PYPercent_PH="{Binding AlarmInfo.PYPercent_PH}"
PY_FY="{Binding AlarmInfo.PY_FY}"
PY_HG="{Binding AlarmInfo.PY_HG}"
PY_PH="{Binding AlarmInfo.PY_PH}"
Pitch_Angle="{Binding Beacon.Beacon_Pitch_Angle}"
Roll_Angle="{Binding Beacon.Beacon_Roll_Angle}" />
</Grid>
<Grid Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition Height="1*" />
<RowDefinition Height="0.4*" />
<RowDefinition Height="6*" />
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal">
<TextBlock
Margin="0,0,10,0"
HorizontalAlignment="Left"
Style="{StaticResource CommonTextStyle}"
Text="锚点ID:" />
<TextBlock
Name="ID"
Style="{StaticResource CommonTextStyle}"
Text="{Binding Beacon.ID}" />
</StackPanel>
<StackPanel HorizontalAlignment="Right" Orientation="Horizontal">
<DatePicker
Name="DataPicker1"
Width="130"
materialDesign:HintAssist.Hint="开始时间"
FontSize="20"
Foreground="White"
SelectedDateChanged="DataPicker1_SelectedDateChanged">
<DatePicker.Resources>
<Style
x:Key="CustomCalendarDayButton"
BasedOn="{StaticResource MaterialDesignCalendarDayButton}"
TargetType="CalendarDayButton">
<Setter Property="materialDesign:CalendarAssist.SelectionColor" Value="#B2F39B" />
<Setter Property="materialDesign:CalendarAssist.SelectionForegroundColor" Value="Black" />
</Style>
<Style
x:Key="CustomCalendarButton"
BasedOn="{StaticResource MaterialDesignCalendarButton}"
TargetType="CalendarButton">
<Setter Property="materialDesign:CalendarAssist.SelectionColor" Value="#B2F39B" />
<Setter Property="materialDesign:CalendarAssist.SelectionForegroundColor" Value="Black" />
</Style>
<Style
x:Key="CustomCalendar"
BasedOn="{StaticResource MaterialDesignDatePickerCalendarPortrait}"
TargetType="{x:Type Calendar}">
<Setter Property="Background" Value="#343C3F" />
<Setter Property="CalendarButtonStyle" Value="{StaticResource CustomCalendarButton}" />
<Setter Property="CalendarDayButtonStyle" Value="{StaticResource CustomCalendarDayButton}" />
<Setter Property="Foreground" Value="White" />
<Setter Property="materialDesign:CalendarAssist.HeaderBackground" Value="#A2E9FF" />
<Setter Property="materialDesign:CalendarAssist.HeaderForeground" Value="Black" />
</Style>
<Style BasedOn="{StaticResource MaterialDesignFloatingHintDatePicker}" TargetType="DatePicker">
<Setter Property="CalendarStyle" Value="{StaticResource CustomCalendar}" />
</Style>
</DatePicker.Resources>
</DatePicker>
<DatePicker
Name="DataPicker2"
Width="130"
Margin="30,0,30,0"
materialDesign:HintAssist.Hint="结束时间"
FontSize="20"
Foreground="White"
SelectedDateChanged="DatePicker_SelectedDateChanged">
<DatePicker.Resources>
<Style
x:Key="CustomCalendarDayButton"
BasedOn="{StaticResource MaterialDesignCalendarDayButton}"
TargetType="CalendarDayButton">
<Setter Property="materialDesign:CalendarAssist.SelectionColor" Value="#B2F39B" />
<Setter Property="materialDesign:CalendarAssist.SelectionForegroundColor" Value="Black" />
</Style>
<Style
x:Key="CustomCalendarButton"
BasedOn="{StaticResource MaterialDesignCalendarButton}"
TargetType="CalendarButton">
<Setter Property="materialDesign:CalendarAssist.SelectionColor" Value="#B2F39B" />
<Setter Property="materialDesign:CalendarAssist.SelectionForegroundColor" Value="Black" />
</Style>
<Style
x:Key="CustomCalendar"
BasedOn="{StaticResource MaterialDesignDatePickerCalendarPortrait}"
TargetType="{x:Type Calendar}">
<Setter Property="Background" Value="#343C3F" />
<Setter Property="CalendarButtonStyle" Value="{StaticResource CustomCalendarButton}" />
<Setter Property="CalendarDayButtonStyle" Value="{StaticResource CustomCalendarDayButton}" />
<Setter Property="Foreground" Value="White" />
<Setter Property="materialDesign:CalendarAssist.HeaderBackground" Value="#A2E9FF" />
<Setter Property="materialDesign:CalendarAssist.HeaderForeground" Value="Black" />
</Style>
<Style BasedOn="{StaticResource MaterialDesignFloatingHintDatePicker}" TargetType="DatePicker">
<Setter Property="CalendarStyle" Value="{StaticResource CustomCalendar}" />
</Style>
</DatePicker.Resources>
</DatePicker>
</StackPanel>
<Slider
Grid.Row="1"
Margin="0,0,20,0"
Maximum="100"
Minimum="1"
Style="{StaticResource MaterialDesignDiscreteSlider}"
TickFrequency="{Binding DiscreteHorizontal.TickFrequency}"
TickPlacement="BottomRight"
Value="0" />
<Grid Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="1.2*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock
Grid.Row="0"
Grid.Column="0"
Style="{StaticResource CommonTextStyle}"
Text="采集时间:" />
<TextBlock
Grid.Row="0"
Grid.Column="1"
Style="{StaticResource CommonTextStyle}"
Text="{Binding Beacon.Datetime, StringFormat={}{0:yyyy-MM-dd HH:mm:ss}}" />
<TextBlock
Grid.Row="1"
Grid.Column="0"
Style="{StaticResource CommonTextStyle}"
Text="经 度:" />
<StackPanel
Grid.Row="1"
Grid.Column="1"
Orientation="Horizontal">
<TextBlock Style="{StaticResource CommonTextStyle}" Text="{Binding Beacon.Beacon_JD, StringFormat={}{0}°}" />
<TextBlock
Foreground="{Binding AlarmInfo.PYPercent_JL, Converter={StaticResource AlarmConverter}}"
Style="{StaticResource CommonTextStyle}"
Text="{Binding AlarmInfo.PY_JL, StringFormat=({0}米)}" />
</StackPanel>
<TextBlock
Grid.Row="2"
Grid.Column="0"
Style="{StaticResource CommonTextStyle}"
Text="纬 度:" />
<TextBlock
Grid.Row="2"
Grid.Column="1"
Style="{StaticResource CommonTextStyle}"
Text="{Binding Beacon.Beacon_WD, StringFormat={}{0}°}" />
<TextBlock
Grid.Row="3"
Grid.Column="0"
Style="{StaticResource CommonTextStyle}"
Text="相对航向:" />
<TextBlock
Grid.Row="3"
Grid.Column="1"
Style="{StaticResource CommonTextStyle}"
Text="{Binding Beacon.Ralative_Heading_Angle, StringFormat={}{0}°}" />
<TextBlock
Grid.Row="4"
Grid.Column="0"
Style="{StaticResource CommonTextStyle}"
Text="相对俯仰:" />
<TextBlock
Grid.Row="4"
Grid.Column="1"
Style="{StaticResource CommonTextStyle}"
Text="{Binding Beacon.Ralative_Pitch_Angle, StringFormat={}{0}°}" />
<TextBlock
Grid.Row="5"
Grid.Column="0"
Style="{StaticResource CommonTextStyle}"
Text="深 度:" />
<TextBlock
Grid.Row="5"
Grid.Column="1"
Style="{StaticResource CommonTextStyle}"
Text="{Binding Beacon.Beacon_Depth, StringFormat={}{0}米}" />
<TextBlock
Grid.Row="6"
Grid.Column="0"
Style="{StaticResource CommonTextStyle}"
Text="距 离:" />
<TextBlock
Grid.Row="6"
Grid.Column="1"
Style="{StaticResource CommonTextStyle}"
Text="{Binding Beacon.Position_Distance, StringFormat={}{0}米}" />
<TextBlock
Grid.Row="7"
Grid.Column="0"
Style="{StaticResource CommonTextStyle}"
Text="传播时间:" />
<TextBlock
Grid.Row="7"
Grid.Column="1"
Style="{StaticResource CommonTextStyle}"
Text="{Binding Beacon.Propagationtime, StringFormat={}{0}秒}" />
<TextBlock
Grid.Row="8"
Grid.Column="0"
Style="{StaticResource CommonTextStyle}"
Text="温 度:" />
<TextBlock
Grid.Row="8"
Grid.Column="1"
Style="{StaticResource CommonTextStyle}"
Text="{Binding Beacon.Temp, StringFormat={}{0}℃}" />
</Grid>
</Grid>
</Grid>
</UserControl>