Newer
Older
Correlator / PipeGallery / View / HomePageView.xaml
<UserControl x:Class="PipeGallery.View.HomePageView"
             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:converter="clr-namespace:PipeGallery.Converter"
             mc:Ignorable="d" 
             d:DesignHeight="768" d:DesignWidth="1366" Background="#224f86">
    <UserControl.Resources>
        <converter:SignalIntensityImageConverter x:Key="signalIntensityImageConverter"/>
        <converter:BatteryColorConverter x:Key="batteryColorConverter"/>
        <converter:DistanceConverter x:Key="distanceConverter"/>
        <converter:VisibilityConverter x:Key="visibilityConverter"/>
        <converter:SNRImageConverter x:Key="snrImageConverter"/>
        <converter:PipeMaterialContentConverter x:Key="pipeMaterialContentConverter"/>
        <converter:PipeMaterialStateConverter x:Key="pipeMaterialStateConverter"/>
    </UserControl.Resources>
    <Grid>
        <Viewbox>
            <Grid x:Name="gridHomePage" Width="1366" Height="768">
                <Grid Background="White" Margin="10,36,10,10">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="111*"/>
                        <ColumnDefinition Width="1235*"/>
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition  Height="3*"/>
                        <RowDefinition  Height="2*"/>
                    </Grid.RowDefinitions>
                    <Button x:Name="btnShutdown" Margin="10,10,0,0" Style="{StaticResource BtnShutdownStyle}" HorizontalAlignment="Left" VerticalAlignment="Top" Width="40" Height="44"/>
                    <Grid Margin="40,0" Grid.ColumnSpan="2">
                        <Grid Width="1100" Height="400" VerticalAlignment="Bottom">
                            <Canvas x:Name="canvasCoordinates"  Width="{Binding ActualWidth, ElementName=gridContainer}" Height="{Binding ActualHeight, ElementName=gridContainer}"/>
                        </Grid>
                        <Grid x:Name="gridContainer" Width="1100" Height="400" VerticalAlignment="Bottom">
                            <Grid  x:Name="gridRow" Height="350" Background="#f3f3f3" VerticalAlignment="Top">
                                <Grid.Clip>
                                    <PathGeometry>
                                        <PathFigure StartPoint="30,0" IsClosed="False">
                                            <LineSegment Point="1070,0"></LineSegment>
                                            <ArcSegment Point="1085,15" Size="15,15"  SweepDirection="Clockwise"/>
                                            <LineSegment Point="1085,335"></LineSegment>
                                            <ArcSegment Point="1070,350" Size="15,15"  SweepDirection="Clockwise"/>
                                            <LineSegment Point="30,350"></LineSegment>
                                            <ArcSegment Point="15,335" Size="15,15"  SweepDirection="Clockwise"/>
                                            <LineSegment Point="15,15"></LineSegment>
                                            <ArcSegment Point="30,0" Size="15,15"  SweepDirection="Clockwise"/>
                                        </PathFigure>
                                    </PathGeometry>
                                </Grid.Clip>

                                <Grid x:Name="gridPipelinechart">
                                    <Border Background="#e2b9C4"   HorizontalAlignment="Left">
                                        <Border.Width>
                                            <MultiBinding Converter="{StaticResource distanceConverter}" ConverterParameter="0">
                                                <MultiBinding.Bindings>
                                                    <Binding Path="TransmitterADistance" />
                                                    <Binding Path="TotalDistance"/>
                                                    <Binding ElementName="gridContainer" Path="Width"/>
                                                </MultiBinding.Bindings>
                                            </MultiBinding>
                                        </Border.Width>
                                        <Line  X1="0" X2="0" Y1="0" Y2="350" Stroke="Red" StrokeThickness="1" StrokeDashArray="4, 4" HorizontalAlignment="Right" VerticalAlignment="Stretch" />
                                    </Border>
                                    <Border Background="#bcd7e2"  HorizontalAlignment="Right">
                                        <Border.Width>
                                            <MultiBinding Converter="{StaticResource distanceConverter}" ConverterParameter="0">
                                                <MultiBinding.Bindings>
                                                    <Binding Path="TransmitterBDistance" />
                                                    <Binding Path="TotalDistance"/>
                                                    <Binding ElementName="gridContainer" Path="Width"/>
                                                </MultiBinding.Bindings>
                                            </MultiBinding>
                                        </Border.Width>
                                        <Line  X1="0" X2="0" Y1="0" Y2="350" Stroke="Red" StrokeThickness="1" StrokeDashArray="4, 4" HorizontalAlignment="Left" VerticalAlignment="Stretch" />
                                    </Border>
                                    <Grid x:Name="gridChartContainer"  >

                                    </Grid>
                                    <Grid x:Name="girdSpeed" HorizontalAlignment="Left">
                                        <Grid.Width>
                                            <MultiBinding Converter="{StaticResource distanceConverter}" ConverterParameter="1">
                                                <MultiBinding.Bindings>
                                                    <Binding Path="SpeedDistance" />
                                                    <Binding Path="TotalDistance"/>
                                                    <Binding ElementName="gridContainer" Path="Width"/>
                                                </MultiBinding.Bindings>
                                            </MultiBinding>
                                        </Grid.Width>
                                        <Line  X1="-6" X2="-6" Y1="0" Y2="350" Stroke="#f69518" StrokeThickness="1" StrokeDashArray="4, 4" HorizontalAlignment="Right" VerticalAlignment="Stretch" />
                                        <Border Background="#f69518"  Width="12" Height="30" VerticalAlignment="Center" HorizontalAlignment="Right"/>
                                    </Grid>
                                </Grid>
                            </Grid>
                            <Canvas>
                                <TextBlock  Canvas.Bottom="-10" Foreground="#545454" FontSize="24" Text="{Binding SpeedValue}" TextAlignment="Center" Width="150">
                                    <Canvas.Left>
                                        <MultiBinding Converter="{StaticResource distanceConverter}" ConverterParameter="2">
                                            <MultiBinding.Bindings>
                                                <Binding Path="SpeedDistance" />
                                                <Binding Path="TotalDistance"/>
                                                <Binding ElementName="gridContainer" Path="Width"/>
                                            </MultiBinding.Bindings>
                                        </MultiBinding>
                                    </Canvas.Left>
                                </TextBlock>
                            </Canvas>
                        </Grid>
                        <Image Width="38" Height="82" Margin="0,0,0,50" HorizontalAlignment="Left" VerticalAlignment="Bottom" Source="{Binding TransmitterASignalIntensity, ConverterParameter=0, Converter={StaticResource signalIntensityImageConverter}}"/>
                        <Image Width="38" Height="82" Margin="0,0,0,50" HorizontalAlignment="Right" VerticalAlignment="Bottom" Source="{Binding TransmitterBSignalIntensity, ConverterParameter=1, Converter={StaticResource signalIntensityImageConverter}}"/>
                    </Grid>
                    <Grid Grid.Row="1" Grid.ColumnSpan="2">
                        <Grid Width="1255" Height="248" Margin="0,0,42,25" HorizontalAlignment="Right" VerticalAlignment="Bottom">
                            <Grid.Background>
                                <ImageBrush ImageSource="/PipeGallery;component/Image/homepage_back.png"/>
                            </Grid.Background>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="3*"/>
                                <ColumnDefinition Width="*"/>
                                <ColumnDefinition Width="2.5*"/>
                            </Grid.ColumnDefinitions>
                            <Grid 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 Orientation="Horizontal" HorizontalAlignment="Center" >
                                        <Image Margin="5,0"  Width="19" Height="19" VerticalAlignment="Center" Source="/PipeGallery;component/Image/homepage_icon3.png"/>
                                        <TextBlock  Text="过滤器"  Foreground="#545454" FontSize="20" VerticalAlignment="Center"/>
                                    </StackPanel>
                                    <TextBlock  Text="{Binding FilterValue}"  Grid.Row="1" Foreground="#545454" FontSize="28" HorizontalAlignment="Center" VerticalAlignment="Top"/>
                                </Grid>
                                <Grid Grid.Column="1">
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="*"/>
                                        <RowDefinition Height="*"/>
                                    </Grid.RowDefinitions>
                                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" >
                                        <Image Margin="5,0"  Width="19" Height="19" VerticalAlignment="Center" Source="/PipeGallery;component/Image/homepage_icon4.png"/>
                                        <TextBlock  Text="信噪比"  Foreground="#545454" FontSize="20" VerticalAlignment="Center"/>
                                    </StackPanel>
                                    <StackPanel Grid.Row="1" Orientation="Horizontal" VerticalAlignment="Top" HorizontalAlignment="Center" >
                                        <TextBlock  Text="{Binding SNR}"  Foreground="#545454" FontSize="28" VerticalAlignment="Center"/>
                                        <Image Margin="10,0,0,0" Width="19" Height="19" VerticalAlignment="Center" Source="{Binding SNR, Converter={StaticResource snrImageConverter}}"/>
                                    </StackPanel>

                                </Grid>
                                <Grid  Grid.Column="2">
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="*"/>
                                        <RowDefinition Height="*"/>
                                    </Grid.RowDefinitions>
                                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" >
                                        <Image Margin="5,0"   Width="19" Height="19" VerticalAlignment="Center" Source="/PipeGallery;component/Image/homepage_icon5.png"/>
                                        <TextBlock  Text="管道"  Foreground="#545454" FontSize="20" VerticalAlignment="Center"/>
                                    </StackPanel>
                                    <TextBlock  Text="{Binding PipeLine}"  Grid.Row="1" Foreground="#545454" FontSize="14" HorizontalAlignment="Center" VerticalAlignment="Top"/>
                                </Grid>
                                <Grid Grid.Row="1">
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="*"/>
                                        <RowDefinition Height="*"/>
                                    </Grid.RowDefinitions>
                                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" >
                                        <Image Margin="5,0"  Width="19" Height="19" VerticalAlignment="Center" Source="/PipeGallery;component/Image/homepage_icon3.png"/>
                                        <TextBlock  Text="干扰频段"  Foreground="#545454" FontSize="20" VerticalAlignment="Center"/>
                                    </StackPanel>
                                    <TextBlock  Text="{Binding InterfereValue}"  Grid.Row="1" Foreground="#545454" FontSize="28" HorizontalAlignment="Center" VerticalAlignment="Top"/>
                                </Grid>
                                <Grid Grid.Row="1" Grid.Column="1">
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="*"/>
                                        <RowDefinition Height="*"/>
                                    </Grid.RowDefinitions>
                                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" >
                                        <Image Margin="5,0"  Width="19" Height="19" VerticalAlignment="Center" Source="/PipeGallery;component/Image/homepage_icon6.png"/>
                                        <TextBlock  Text="声速"  Foreground="#545454" FontSize="20" VerticalAlignment="Center"/>
                                    </StackPanel>
                                    <TextBlock  Text="{Binding SoundSpeed}"  Grid.Row="1" Foreground="#545454" FontSize="14" HorizontalAlignment="Center" VerticalAlignment="Top"/>
                                </Grid>
                                <Grid  Grid.Row="1" Grid.Column="2">
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="*"/>
                                        <RowDefinition Height="*"/>
                                    </Grid.RowDefinitions>
                                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" >
                                        <Image Margin="5,0"  Width="19" Height="19" VerticalAlignment="Center" Source="/PipeGallery;component/Image/homepage_icon7.png"/>
                                        <TextBlock  Text="经过了"  Foreground="#545454" FontSize="20" VerticalAlignment="Center"/>
                                    </StackPanel>
                                    <TextBlock  Text="{Binding Pass}"  Grid.Row="1" Foreground="#545454" FontSize="28" HorizontalAlignment="Center" VerticalAlignment="Top"/>
                                </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,40,20">
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="*"/>
                                    <ColumnDefinition Width="*"/>
                                </Grid.ColumnDefinitions>
                                <Grid.RowDefinitions>
                                    <RowDefinition Height="*"/>
                                    <RowDefinition Height="*"/>
                                </Grid.RowDefinitions>
                                <Image Height="57" Width="50" Source="{Binding TransmitterAFault, ConverterParameter=2, Converter={StaticResource signalIntensityImageConverter}}"/>
                                <TextBlock Text="传感器故障" Foreground="#eb2d2d" HorizontalAlignment="Center" VerticalAlignment="Bottom" Visibility="{Binding TransmitterAFault, ConverterParameter=0, Converter={StaticResource visibilityConverter}}"/>
                                <Image Height="57" Width="50" Source="{Binding TransmitterBFault, ConverterParameter=3, Converter={StaticResource signalIntensityImageConverter}}" Grid.Row="1" />
                                <TextBlock Text="传感器故障" Foreground="#eb2d2d" HorizontalAlignment="Center" VerticalAlignment="Bottom" Visibility="{Binding TransmitterBFault, ConverterParameter=0, Converter={StaticResource visibilityConverter}}" Grid.Row="1"/>
                                <Grid Grid.Column="1">
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="1.1*"/>
                                        <RowDefinition Height="*"/>
                                    </Grid.RowDefinitions>
                                    <StackPanel Orientation="Horizontal" Margin="0,0,-35,0" >
                                        <TextBlock  Text="{Binding TransmitterADistance, StringFormat=\{0\}}" Foreground="#545454" FontSize="30" VerticalAlignment="Bottom"/>
                                        <TextBlock  Text="m"  Foreground="#545454" FontSize="18" Width="120" Margin="0,29,0,0"/>
                                    </StackPanel>
                                    <StackPanel Grid.Row="1"  Orientation="Horizontal" VerticalAlignment="Top"  Margin="0,10,0,0">
                                        <Border BorderBrush="#545454" BorderThickness="1" Width="35" Height="15">
                                            <ProgressBar  Value="{Binding TransmitterABattery}" Foreground="{Binding TransmitterABattery, Converter={StaticResource batteryColorConverter}}" Background="Transparent" />
                                        </Border>
                                        <Border BorderBrush="#545454" BorderThickness="1" Width="2" Height="8"/>
                                        <TextBlock  Text="{Binding TransmitterABattery, StringFormat=\{0\}%}"  Foreground="{Binding TransmitterABattery, Converter={StaticResource batteryColorConverter}}" FontSize="14" Margin="3,0,0,0" VerticalAlignment="Bottom"/>
                                    </StackPanel>
                                </Grid>
                                <Grid Grid.Row="1" Grid.Column="1">
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="1.1*"/>
                                        <RowDefinition Height="*"/>
                                    </Grid.RowDefinitions>
                                    <StackPanel Orientation="Horizontal" Margin="0,0,-35,0">
                                        <TextBlock  Text="{Binding TransmitterBDistance, StringFormat=\{0\}}" Foreground="#545454" FontSize="30" VerticalAlignment="Bottom"/>
                                        <TextBlock  Text="m"  Foreground="#545454" FontSize="18" Width="120" Margin="0,29,0,0"/>
                                    </StackPanel>
                                    <StackPanel Grid.Row="1" Orientation="Horizontal" VerticalAlignment="Top" Margin="0,10,0,0">
                                        <Border BorderBrush="#545454" BorderThickness="1" Width="35" Height="15">
                                            <ProgressBar  Value="{Binding TransmitterBBattery}"  Foreground="{Binding TransmitterBBattery, Converter={StaticResource batteryColorConverter}}" Background="Transparent" />
                                        </Border>
                                        <Border BorderBrush="#545454" BorderThickness="1" Width="2" Height="8"/>
                                        <TextBlock  Text="{Binding TransmitterBBattery, StringFormat=\{0\}%}"   Foreground="{Binding TransmitterBBattery, Converter={StaticResource batteryColorConverter}}" FontSize="14" Margin="3,0,0,0" VerticalAlignment="Bottom"/>
                                    </StackPanel>
                                </Grid>
                            </Grid>
                            <Grid Grid.Column="3" Margin="0,20,20,20">
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="*"/>
                                    <ColumnDefinition Width="*"/>
                                    <ColumnDefinition Width="*"/>
                                    <ColumnDefinition Width="*"/>
                                </Grid.ColumnDefinitions>
                                <Grid.RowDefinitions>
                                    <RowDefinition/>
                                    <RowDefinition Height="71"/>
                                    <RowDefinition Height="33"/>
                                </Grid.RowDefinitions>
                                <Button x:Name="btnRanging" Content="测距" HorizontalAlignment="Left" Style="{StaticResource BtnHomepageStyle}" IsEnabled="{Binding BtnRangingIsEnabled}" Margin="0,2" Visibility="Collapsed">
                                    <Button.Background>
                                        <ImageBrush ImageSource="/PipeGallery;component/Image/b_icon1.png"/>
                                    </Button.Background>
                                    <Button.Tag>
                                        <ImageBrush ImageSource="/PipeGallery;component/Image/b_icon1_unable.png"/>
                                    </Button.Tag>
                                </Button>
                                <Button Grid.Column="1" x:Name="btnFilter" Content="干扰采集" HorizontalAlignment="Left" Style="{StaticResource BtnHomepageStyle}" IsEnabled="{Binding BtnFilterIsEnabled}" Margin="0,2">
                                    <Button.Background>
                                        <ImageBrush ImageSource="/PipeGallery;component/Image/b_icon1.png"/>
                                    </Button.Background>
                                    <Button.Tag>
                                        <ImageBrush ImageSource="/PipeGallery;component/Image/b_icon1_unable.png"/>
                                    </Button.Tag>
                                </Button>
                                <Button Grid.Column="2" x:Name="btnAudition" Content="听音" Style="{StaticResource BtnHomepageStyle}" IsEnabled="{Binding BtnAuditionIsEnabled}"  Margin="0,2" Width="80" HorizontalAlignment="Left">
                                    <Button.Background>
                                        <ImageBrush ImageSource="/PipeGallery;component/Image/b_icon2.png"/>
                                    </Button.Background>
                                    <Button.Tag>
                                        <ImageBrush ImageSource="/PipeGallery;component/Image/b_icon2_unable.png"/>
                                    </Button.Tag>
                                </Button>
                                <Button Grid.Column="3" x:Name="btnSnapshot" Content="快照" Style="{StaticResource BtnHomepageStyle}" IsEnabled="{Binding BtnSnapshotIsEnabled}" Margin="0,2" Width="80" HorizontalAlignment="Left">
                                    <Button.Background>
                                        <ImageBrush ImageSource="/PipeGallery;component/Image/b_icon3.png"/>
                                    </Button.Background>
                                    <Button.Tag>
                                        <ImageBrush ImageSource="/PipeGallery;component/Image/b_icon3_unable.png"/>
                                    </Button.Tag>
                                </Button>
                                <Button x:Name="btnReset" Grid.Row="1"  Grid.Column="0" Content="复位" HorizontalAlignment="Right" Style="{StaticResource BtnHomepageStyle}" IsEnabled="{Binding BtnResetIsEnabled}" Margin="0,2" Grid.RowSpan="2">
                                    <Button.Background>
                                        <ImageBrush ImageSource="/PipeGallery;component/Image/b_icon4.png"/>
                                    </Button.Background>
                                    <Button.Tag>
                                        <ImageBrush ImageSource="/PipeGallery;component/Image/b_icon4_unable.png"/>
                                    </Button.Tag>
                                </Button>
                                <Button Grid.Row="1" Grid.Column="1" x:Name="btnStart" Tag="{Binding StartState,Converter={StaticResource pipeMaterialStateConverter}}" Content="{Binding StartState,Converter={StaticResource pipeMaterialContentConverter}}" HorizontalAlignment="Right" Style="{StaticResource BtnHomepageStartStyle}" IsEnabled="{Binding BtnStartIsEnabled}" Margin="0,2" Grid.RowSpan="2">
                                </Button>
                                <Button Grid.Row="1" Grid.Column="2" x:Name="btnSave" Content="保存" HorizontalAlignment="Right" Style="{StaticResource BtnHomepageStyle}" IsEnabled="{Binding BtnSaveIsEnabled}" Margin="0,2" Grid.RowSpan="2">
                                    <Button.Background>
                                        <ImageBrush ImageSource="/PipeGallery;component/Image/b_icon6.png"/>
                                    </Button.Background>
                                    <Button.Tag>
                                        <ImageBrush ImageSource="/PipeGallery;component/Image/b_icon6_unable.png"/>
                                    </Button.Tag>
                                </Button>
                            </Grid>

                        </Grid>
                        <Button x:Name="btnMenu" Style="{StaticResource BtnListStyle}"  Width="72" Height="72" HorizontalAlignment="Right" VerticalAlignment="Bottom"/>
                    </Grid>
                </Grid>
            </Grid>
        </Viewbox>
    </Grid>
</UserControl>