Newer
Older
Correlator / Correlator / View / HomePageWindow.xaml
<Window
    x:Class="Correlator.View.HomePageWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:converter="clr-namespace:Correlator.Converter"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    Title="相关仪"
    d:DesignHeight="768"
    d:DesignWidth="1366"
    Background="#224f86"
    DataContext="{Binding HomePage, Source={StaticResource Locator}}"
    ResizeMode="NoResize"
    WindowStartupLocation="CenterScreen"
    WindowState="Maximized"
    WindowStyle="None"
    mc:Ignorable="d">

    <i:Interaction.Triggers>
        <i:EventTrigger EventName="Loaded">
            <i:InvokeCommandAction Command="{Binding WindowLoadedCommand}" CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}}" />
        </i:EventTrigger>
    </i:Interaction.Triggers>

    <Window.Resources>
        <converter:BatteryColorConverter x:Key="BatteryConverter" />
        <converter:SignalIntensityImageConverter x:Key="SignalImageConverter" />
        <converter:StartButtonConverter x:Key="ButtonConverter" />
        <converter:StartButtonImageConverter x:Key="ButtonImageConverter" />
        <converter:SnrImageConverter x:Key="SnrImageConverter" />
        <converter:VisibilityConverter x:Key="VisibilityConverter" />
    </Window.Resources>

    <Grid Margin="20,0,20,20">
        <Grid.RowDefinitions>
            <RowDefinition Height="36" />
            <RowDefinition />
        </Grid.RowDefinitions>

        <Grid Grid.Row="0">
            <Grid.ColumnDefinitions>
                <ColumnDefinition />
                <ColumnDefinition Width="Auto" />
            </Grid.ColumnDefinitions>

            <TextBlock
                Grid.Column="0"
                HorizontalAlignment="Center"
                VerticalAlignment="Center"
                FontSize="18"
                Foreground="White"
                Text="{Binding CurrentTime}" />

            <TextBlock
                Grid.Column="0"
                Margin="10,0"
                HorizontalAlignment="Right"
                VerticalAlignment="Center"
                FontSize="18"
                Foreground="White"
                Text="{Binding Battery, StringFormat=\{0\}%}"
                TextAlignment="Right" />

            <StackPanel Grid.Column="1" Orientation="Horizontal">
                <Border
                    Width="50"
                    Height="20"
                    BorderBrush="White"
                    BorderThickness="2"
                    CornerRadius="2">
                    <ProgressBar
                        Margin="1"
                        VerticalAlignment="Center"
                        Background="Transparent"
                        Foreground="White"
                        Value="{Binding Battery}" />
                </Border>
                <Border
                    Width="2"
                    Height="10"
                    BorderBrush="White"
                    BorderThickness="1" />
            </StackPanel>
        </Grid>

        <Grid Grid.Row="1" Background="White">
            <Grid.RowDefinitions>
                <RowDefinition Height="3*" />
                <RowDefinition Height="2*" />
            </Grid.RowDefinitions>

            <Grid Grid.Row="0">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition />
                    <ColumnDefinition Width="Auto" />
                </Grid.ColumnDefinitions>

                <!--  左边信号  -->
                <Grid
                    Grid.Column="0"
                    Width="55"
                    Margin="30,0,0,0">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="*" />
                        <RowDefinition Height="Auto" />
                    </Grid.RowDefinitions>

                    <Button
                        x:Name="ShutDownButton"
                        Grid.Row="0"
                        Height="50"
                        Margin="0,10"
                        HorizontalAlignment="Right"
                        VerticalAlignment="Top"
                        Background="Transparent"
                        BorderThickness="0">
                        <Image Source="/Correlator;component/Image/btn_shutdown.png" />
                    </Button>

                    <Image
                        Grid.Row="2"
                        Width="38"
                        Height="82"
                        Margin="0,15,0,45"
                        Source="{Binding TransmitterASignalIntensity, ConverterParameter=0, Converter={StaticResource SignalImageConverter}}" />
                </Grid>

                <WpfPlot x:Name="ScottplotView" Grid.Column="1" />

                <!--  右边信号  -->
                <Grid
                    Grid.Column="2"
                    Width="55"
                    Margin="0,0,30,0">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="*" />
                        <RowDefinition Height="Auto" />
                    </Grid.RowDefinitions>

                    <Image
                        Grid.Row="2"
                        Width="38"
                        Height="82"
                        Margin="0,15,0,45"
                        Source="{Binding TransmitterBSignalIntensity, ConverterParameter=1, Converter={StaticResource SignalImageConverter}}" />
                </Grid>
            </Grid>

            <Grid Grid.Row="1">
                <Grid Margin="30,20">
                    <Grid.Background>
                        <ImageBrush ImageSource="/Correlator;component/Image/homepage_back.png" />
                    </Grid.Background>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="3*" />
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition Width="2*" />
                    </Grid.ColumnDefinitions>

                    <Grid Grid.Column="0" Margin="20,20,0,20">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="*" />
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="*" />
                            <RowDefinition Height="*" />
                        </Grid.RowDefinitions>
                        <Grid>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="*" />
                                <RowDefinition Height="*" />
                            </Grid.RowDefinitions>
                            <StackPanel HorizontalAlignment="Center" Orientation="Horizontal">
                                <Image
                                    Width="20"
                                    Height="20"
                                    Margin="5,0"
                                    VerticalAlignment="Center"
                                    Source="/Correlator;component/Image/homepage_icon3.png" />
                                <TextBlock
                                    VerticalAlignment="Center"
                                    FontSize="20"
                                    Text="过滤器" />
                            </StackPanel>
                            <TextBlock
                                Grid.Row="1"
                                HorizontalAlignment="Center"
                                VerticalAlignment="Top"
                                FontSize="18"
                                Foreground="#545454"
                                Text="{Binding FilterValue}" />
                        </Grid>
                        <Grid Grid.Row="0" Grid.Column="1">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="*" />
                                <RowDefinition Height="*" />
                            </Grid.RowDefinitions>
                            <StackPanel HorizontalAlignment="Center" Orientation="Horizontal">
                                <Image
                                    Width="20"
                                    Height="20"
                                    Margin="5,0"
                                    VerticalAlignment="Center"
                                    Source="/Correlator;component/Image/homepage_icon4.png" />
                                <TextBlock
                                    VerticalAlignment="Center"
                                    FontSize="20"
                                    Text="信噪比" />
                            </StackPanel>
                            <StackPanel
                                Grid.Row="1"
                                HorizontalAlignment="Center"
                                VerticalAlignment="Top"
                                Orientation="Horizontal">
                                <TextBlock
                                    VerticalAlignment="Center"
                                    FontSize="18"
                                    Foreground="#545454"
                                    Text="{Binding Snr}" />
                                <Image
                                    Width="19"
                                    Height="19"
                                    Margin="10,0,0,0"
                                    VerticalAlignment="Center"
                                    Source="{Binding Snr, Converter={StaticResource SnrImageConverter}}" />
                            </StackPanel>

                        </Grid>
                        <Grid Grid.Row="0" Grid.Column="2">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="*" />
                                <RowDefinition Height="*" />
                            </Grid.RowDefinitions>
                            <StackPanel HorizontalAlignment="Center" Orientation="Horizontal">
                                <Image
                                    Width="20"
                                    Height="20"
                                    Margin="5,0"
                                    VerticalAlignment="Center"
                                    Source="/Correlator;component/Image/homepage_icon5.png" />
                                <TextBlock
                                    VerticalAlignment="Center"
                                    FontSize="22"
                                    Text="管道" />
                            </StackPanel>
                            <TextBlock
                                Grid.Row="1"
                                HorizontalAlignment="Center"
                                VerticalAlignment="Top"
                                FontSize="18"
                                Foreground="#545454"
                                Text="{Binding PipeLine}"
                                TextWrapping="Wrap" />
                        </Grid>
                        <Grid Grid.Row="1" Grid.Column="0">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="*" />
                                <RowDefinition Height="*" />
                            </Grid.RowDefinitions>
                            <StackPanel HorizontalAlignment="Center" Orientation="Horizontal">
                                <Image
                                    Width="20"
                                    Height="20"
                                    Margin="5,0"
                                    VerticalAlignment="Center"
                                    Source="/Correlator;component/Image/homepage_icon3.png" />
                                <TextBlock
                                    VerticalAlignment="Center"
                                    FontSize="20"
                                    Text="干扰频段" />
                            </StackPanel>
                            <TextBlock
                                Grid.Row="1"
                                HorizontalAlignment="Center"
                                VerticalAlignment="Top"
                                FontSize="18"
                                Foreground="#545454"
                                Text="{Binding NoiseValue}" />
                        </Grid>
                        <Grid Grid.Row="1" Grid.Column="1">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="*" />
                                <RowDefinition Height="*" />
                            </Grid.RowDefinitions>
                            <StackPanel HorizontalAlignment="Center" Orientation="Horizontal">
                                <Image
                                    Width="20"
                                    Height="20"
                                    Margin="5,0"
                                    VerticalAlignment="Center"
                                    Source="/Correlator;component/Image/homepage_icon6.png" />
                                <TextBlock
                                    VerticalAlignment="Center"
                                    FontSize="20"
                                    Text="声速" />
                            </StackPanel>
                            <TextBlock
                                Grid.Row="1"
                                HorizontalAlignment="Center"
                                VerticalAlignment="Top"
                                FontSize="18"
                                Foreground="#545454"
                                Text="{Binding SoundSpeed, StringFormat={}{0}m/s}" />
                        </Grid>
                        <Grid Grid.Row="1" Grid.Column="2">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="*" />
                                <RowDefinition Height="*" />
                            </Grid.RowDefinitions>
                            <StackPanel
                                Grid.Row="0"
                                HorizontalAlignment="Center"
                                Orientation="Horizontal">
                                <Image
                                    Width="20"
                                    Height="20"
                                    Margin="5,0"
                                    VerticalAlignment="Center"
                                    Source="/Correlator;component/Image/homepage_icon7.png" />
                                <TextBlock
                                    VerticalAlignment="Center"
                                    FontSize="20"
                                    Text="经过了" />
                            </StackPanel>
                            <TextBlock
                                Grid.Row="1"
                                HorizontalAlignment="Center"
                                VerticalAlignment="Top"
                                FontSize="18"
                                Foreground="#545454"
                                Text="{Binding PassTime, StringFormat={}{0}s}" />
                        </Grid>
                        <Grid Grid.Row="1" Grid.Column="2">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="*" />
                                <RowDefinition Height="*" />
                            </Grid.RowDefinitions>

                        </Grid>
                    </Grid>

                    <Grid Grid.Column="1" Margin="0,20">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="1.5*" />
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="*" />
                            <RowDefinition Height="*" />
                        </Grid.RowDefinitions>
                        <Image
                            Width="50"
                            Height="57"
                            Source="{Binding TransmitterAFault, ConverterParameter=2, Converter={StaticResource SignalImageConverter}}" />
                        <TextBlock
                            Grid.Row="0"
                            Grid.Column="0"
                            HorizontalAlignment="Center"
                            VerticalAlignment="Bottom"
                            Foreground="Red"
                            Text="传感器故障"
                            Visibility="{Binding TransmitterAFault, ConverterParameter=0, Converter={StaticResource VisibilityConverter}}" />
                        <Image
                            Grid.Row="1"
                            Grid.Column="0"
                            Width="50"
                            Height="57"
                            Source="{Binding TransmitterBFault, ConverterParameter=3, Converter={StaticResource SignalImageConverter}}" />
                        <TextBlock
                            Grid.Row="1"
                            Grid.Column="0"
                            HorizontalAlignment="Center"
                            VerticalAlignment="Bottom"
                            Foreground="Red"
                            Text="传感器故障"
                            Visibility="{Binding TransmitterAFault, ConverterParameter=0, Converter={StaticResource VisibilityConverter}}" />
                        <Grid Grid.Row="0" Grid.Column="1">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="*" />
                                <RowDefinition Height="*" />
                            </Grid.RowDefinitions>
                            <StackPanel Margin="0,0,-35,0" Orientation="Horizontal">
                                <TextBlock
                                    VerticalAlignment="Bottom"
                                    FontSize="30"
                                    Foreground="#545454"
                                    Text="{Binding TransmitterADistance, StringFormat=\{0\}}" />
                                <TextBlock
                                    Margin="5,0,0,3"
                                    VerticalAlignment="Bottom"
                                    FontSize="18"
                                    Text="m" />
                            </StackPanel>
                            <StackPanel
                                Grid.Row="1"
                                Margin="0,10,0,0"
                                VerticalAlignment="Top"
                                Orientation="Horizontal">
                                <Border
                                    Width="50"
                                    Height="20"
                                    BorderBrush="#545454"
                                    BorderThickness="1"
                                    CornerRadius="2">
                                    <ProgressBar
                                        Margin="1"
                                        VerticalAlignment="Center"
                                        Background="Transparent"
                                        Foreground="{Binding TransmitterABattery, Converter={StaticResource BatteryConverter}}"
                                        Value="{Binding TransmitterABattery}" />
                                </Border>
                                <Border
                                    Width="2"
                                    Height="10"
                                    BorderBrush="#545454"
                                    BorderThickness="1" />
                            </StackPanel>
                        </Grid>
                        <Grid Grid.Row="1" Grid.Column="1">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="*" />
                                <RowDefinition Height="*" />
                            </Grid.RowDefinitions>
                            <StackPanel Margin="0,0,-35,0" Orientation="Horizontal">
                                <TextBlock
                                    VerticalAlignment="Bottom"
                                    FontSize="30"
                                    Foreground="#545454"
                                    Text="{Binding TransmitterBDistance, StringFormat=\{0\}}" />
                                <TextBlock
                                    Margin="5,0,0,3"
                                    VerticalAlignment="Bottom"
                                    FontSize="18"
                                    Text="m" />
                            </StackPanel>
                            <StackPanel
                                Grid.Row="1"
                                Margin="0,10,0,0"
                                VerticalAlignment="Top"
                                Orientation="Horizontal">
                                <Border
                                    Width="50"
                                    Height="20"
                                    BorderBrush="#545454"
                                    BorderThickness="1"
                                    CornerRadius="2">
                                    <ProgressBar
                                        Margin="1"
                                        VerticalAlignment="Center"
                                        Background="Transparent"
                                        Foreground="{Binding TransmitterBBattery, Converter={StaticResource BatteryConverter}}"
                                        Value="{Binding TransmitterBBattery}" />
                                </Border>
                                <Border
                                    Width="2"
                                    Height="10"
                                    BorderBrush="#545454"
                                    BorderThickness="1" />
                            </StackPanel>
                        </Grid>
                    </Grid>

                    <UniformGrid Grid.Column="2" Rows="2">
                        <RadioButton
                            x:Name="AccelerometerButton"
                            Content="加速度计模式"
                            FontSize="18"
                            GroupName="ModeGroup" />

                        <RadioButton
                            x:Name="HydrophoneButton"
                            Content="水听器模式"
                            FontSize="18"
                            GroupName="ModeGroup" />
                    </UniformGrid>

                    <Grid Grid.Column="3" Margin="0,20,20,20">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="*" />
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition />
                            <RowDefinition />
                        </Grid.RowDefinitions>

                        <Button
                            Grid.Row="0"
                            Grid.Column="0"
                            Width="85"
                            Height="100"
                            HorizontalAlignment="Left"
                            BorderBrush="Transparent"
                            Command="{Binding AudioCommand}">
                            <!--  IsEnabled="{Binding AudioButtonIsEnabled}"  -->

                            <StackPanel Orientation="Vertical">
                                <Grid Width="56" Height="56">
                                    <Grid.Background>
                                        <ImageBrush ImageSource="/Correlator;component/Image/btn_icon2.png" />
                                    </Grid.Background>

                                    <Image
                                        Width="30"
                                        Height="30"
                                        Source="/Correlator;component/Image/b_icon2.png" />
                                </Grid>

                                <TextBlock
                                    Margin="0,5,0,0"
                                    HorizontalAlignment="Center"
                                    FontSize="18"
                                    Text="听音" />
                            </StackPanel>
                        </Button>

                        <Button
                            x:Name="SnapShotButton"
                            Grid.Row="0"
                            Grid.Column="1"
                            Width="85"
                            Height="100"
                            HorizontalAlignment="Left"
                            BorderBrush="Transparent">
                            <!--  IsEnabled="{Binding SnapButtonIsEnabled}"  -->

                            <StackPanel Orientation="Vertical">
                                <Grid Width="56" Height="56">
                                    <Grid.Background>
                                        <ImageBrush ImageSource="/Correlator;component/Image/btn_icon2.png" />
                                    </Grid.Background>

                                    <Image
                                        Width="30"
                                        Height="30"
                                        Source="/Correlator;component/Image/b_icon3.png" />
                                </Grid>

                                <TextBlock
                                    Margin="0,5,0,0"
                                    HorizontalAlignment="Center"
                                    FontSize="18"
                                    Text="快照" />
                            </StackPanel>
                        </Button>

                        <Button
                            Grid.Row="0"
                            Grid.Column="2"
                            Width="85"
                            Height="100"
                            HorizontalAlignment="Left"
                            BorderBrush="Transparent"
                            Command="{Binding SaveAudioCommand}">
                            <!--  IsEnabled="{Binding SaveButtonIsEnabled}"  -->

                            <StackPanel Orientation="Vertical">
                                <Grid Width="56" Height="56">
                                    <Grid.Background>
                                        <ImageBrush ImageSource="/Correlator;component/Image/btn_icon2.png" />
                                    </Grid.Background>

                                    <Image
                                        Width="30"
                                        Height="30"
                                        Source="/Correlator;component/Image/b_icon6.png" />
                                </Grid>

                                <TextBlock
                                    Margin="0,5,0,0"
                                    HorizontalAlignment="Center"
                                    FontSize="18"
                                    Text="保存" />
                            </StackPanel>
                        </Button>

                        <Button
                            Grid.Row="1"
                            Grid.Column="0"
                            Width="85"
                            Height="100"
                            HorizontalAlignment="Right"
                            BorderBrush="Transparent"
                            Command="{Binding ResetParamCommand}">
                            <!--  IsEnabled="{Binding ResetButtonIsEnabled}"  -->

                            <StackPanel Orientation="Vertical">
                                <Grid Width="56" Height="56">
                                    <Grid.Background>
                                        <ImageBrush ImageSource="/Correlator;component/Image/btn_icon2.png" />
                                    </Grid.Background>

                                    <Image
                                        Width="30"
                                        Height="30"
                                        Source="/Correlator;component/Image/b_icon4.png" />
                                </Grid>

                                <TextBlock
                                    Margin="0,5,0,0"
                                    HorizontalAlignment="Center"
                                    FontSize="18"
                                    Text="复位" />
                            </StackPanel>
                        </Button>

                        <Button
                            Grid.Row="1"
                            Grid.Column="1"
                            Width="85"
                            Height="100"
                            HorizontalAlignment="Right"
                            BorderBrush="Transparent"
                            Command="{Binding StartCalculateCommand}">
                            <!--  IsEnabled="{Binding StartButtonIsEnabled}"  -->

                            <StackPanel Orientation="Vertical">
                                <Grid Width="56" Height="56">
                                    <Grid.Background>
                                        <ImageBrush ImageSource="/Correlator;component/Image/btn_icon2.png" />
                                    </Grid.Background>

                                    <Image
                                        Width="30"
                                        Height="30"
                                        Source="{Binding StartState, Converter={StaticResource ButtonImageConverter}}" />
                                </Grid>

                                <TextBlock
                                    Margin="0,5,0,0"
                                    HorizontalAlignment="Center"
                                    FontSize="18"
                                    Text="{Binding StartState, Converter={StaticResource ButtonConverter}}" />
                            </StackPanel>
                        </Button>
                    </Grid>
                </Grid>

                <Button
                    x:Name="OpenMenuButton"
                    Width="80"
                    Height="72"
                    HorizontalAlignment="Right"
                    VerticalAlignment="Bottom"
                    Background="Transparent"
                    BorderThickness="0">
                    <Image Source="/Correlator;component/Image/homepage_icon11.png" />
                </Button>
            </Grid>
        </Grid>

        <!--  其他页面容器  -->
        <Grid x:Name="HomePageContentGrid" Grid.Row="1" />
    </Grid>
</Window>