<UserControl x:Class="FLY.Thick.FilmCasting.UI.UiModule.ScanMmGraph"
             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:local="clr-namespace:FLY.Thick.FilmCasting.UI.UiModule"
             xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
             xmlns:misc="clr-namespace:Misc;assembly=MISC" 
             xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks" 
             xmlns:sys="clr-namespace:System;assembly=mscorlib"
             mc:Ignorable="d" 
             d:DesignHeight="400" d:DesignWidth="800" >
    <UserControl.Resources>


        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/FLY.ControlLibrary;component/Converter/Dictionary_MyConv.xaml"/>
                <ResourceDictionary Source="pack://application:,,,/FLY.Thick.FilmCasting.UI;component/Themes/Styles.xaml"/>
                <ResourceDictionary Source="pack://application:,,,/FLY.Thick.FilmCasting.UI;component/Themes/Colors.xaml"/>
            </ResourceDictionary.MergedDictionaries>

            <local:ScanMmGraphVmUt x:Key="viewmodel"/>
        </ResourceDictionary>
    </UserControl.Resources>
    <Border Style="{StaticResource Styles.Module.Border}" >
        <Grid d:DataContext="{StaticResource viewmodel}">
            <Grid.RowDefinitions>
                <RowDefinition Height="auto"/>
                <RowDefinition/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="auto"/>
                <ColumnDefinition Width="400*"/>
                <ColumnDefinition Width="280*"/>
            </Grid.ColumnDefinitions>
            <lvc:CartesianChart Grid.Row="1" Grid.ColumnSpan="3" 
                                Series="{Binding Series}" Hoverable="False" DisableAnimations="True" DataTooltip="{x:Null}" Margin="5,-5,2,2"
                                MouseMove="UIElement_OnMouseMove" MouseDown="UIElement_MouseDown" MouseUp="UIElement_MouseUp">
                <lvc:CartesianChart.AxisX>
                    <lvc:Axis LabelFormatter="{Binding XFormatter}" 
                              Foreground="{StaticResource Brushes.ChartAxisLabel}"
                              MaxValue="{Binding XMax}" MinValue="{Binding XMin}"
                              >
                        <lvc:Axis.Separator>
                            <lvc:Separator Stroke="{StaticResource Brushes.ChartSeparator}" Step ="{Binding XStep}"/>
                        </lvc:Axis.Separator>
                        <lvc:Axis.Sections>
                            <lvc:AxisSection Style="{StaticResource AxisSectionStyle}" Stroke="Orange"
                                Value="{Binding FilmBeginOfBoltIndex}" 
                            />
                            <lvc:AxisSection Style="{StaticResource AxisSectionStyle}" Stroke="Orange"
                                Value="{Binding FilmEndOfBoltIndex}" 
                            />
                            <lvc:AxisSection Style="{StaticResource Styles.Axis.Section.Selected}" 
                                Value="{Binding SelectedOfBoltIndex}" SectionWidth="{Binding SelectedWidthOfBoltIndex}" 
                            />
                        </lvc:Axis.Sections>
                    </lvc:Axis>
                </lvc:CartesianChart.AxisX>
                <lvc:CartesianChart.AxisY>
                    <lvc:Axis LabelFormatter="{Binding YFormatter}" MaxValue="{Binding YMax}" MinValue="{Binding YMin}" Panel.ZIndex="0" Foreground="Transparent" FontFamily="Courier New">
                        <lvc:Axis.Sections>
                            <lvc:AxisSection Style="{StaticResource AxisSectionStyle}"
                            Value="{Binding YMax}"  
                            Stroke="{StaticResource Brushes.ChartAxisLabel3}"
                            />
                            <lvc:AxisSection Style="{StaticResource AxisSectionStyle}"
                            Value="{Binding YMin}"  
                            Stroke="{StaticResource Brushes.ChartAxisLabel3}"
                            />
                            <lvc:AxisSection Style="{StaticResource AxisSectionStyle}"
                            Value="{Binding Tolerance2YMax}"  
                            Stroke="{StaticResource Brushes.ChartAxisLabel2}"
                            />
                            <lvc:AxisSection Style="{StaticResource AxisSectionStyle}"
                            Value="{Binding Tolerance2YMin}"  
                            Stroke="{StaticResource Brushes.ChartAxisLabel2}"
                            />
                            <lvc:AxisSection Style="{StaticResource AxisSectionStyle}"
                            Value="{Binding ToleranceYMax}"  
                            Stroke="{StaticResource Brushes.ChartAxisLabel1}"
                            />
                            <lvc:AxisSection Style="{StaticResource AxisSectionStyle}"
                            Value="{Binding ToleranceYMin}"  
                            Stroke="{StaticResource Brushes.ChartAxisLabel1}"
                            />

                            <lvc:AxisSection Style="{StaticResource AxisSectionStyle}"
                                Value="{Binding Target}" 
                                Stroke="{StaticResource Brushes.ChartAxisLabel0}"
                            />
                        </lvc:Axis.Sections>
                        <lvc:Axis.Separator>
                            <lvc:Separator Stroke="Transparent" />
                        </lvc:Axis.Separator>
                    </lvc:Axis>

                </lvc:CartesianChart.AxisY>
            </lvc:CartesianChart>

            <Button Style="{StaticResource Styles.Button.Icon}" Margin="48,0,0,-20"
                        Click="Button_info_click" >
                <Grid Style="{StaticResource Styles.Shadow}" >
                    <TextBlock  Padding="10,5" VerticalAlignment="Top"
                                    FontSize="24" Foreground="{StaticResource Brushes.ThemeBackground}" Background="{StaticResource Brushes.Activity}" 
                                    Text="测量图" />
                </Grid>
            </Button>
            <StackPanel Grid.Column="1" Grid.RowSpan="2" Panel.ZIndex="2" VerticalAlignment="Top" HorizontalAlignment="Left" 
                        Margin="{StaticResource ControlMargin}">
                <Viewbox MaxHeight="{StaticResource FontSize.Value}" HorizontalAlignment="Left" Margin="2">
                    <StackPanel Orientation="Horizontal" VerticalAlignment="Bottom" >
                        <TextBlock Style="{StaticResource ValueStyle}" >
                                    <Run Text="{Binding Time,Mode=OneWay,StringFormat={}{0:MM-dd HH:mm:ss}}"/>
                                    ~
                                    <Run Text="{Binding EndTime,Mode=OneWay,StringFormat={}{0:HH:mm:ss}}"/>
                        </TextBlock>
                        <StackPanel Orientation="Horizontal" Margin="{StaticResource TextMargin}">
                            <TextBlock Style="{StaticResource TitleStyle}" Text="ID:" />
                            <TextBlock Style="{StaticResource ValueStyle}" Text="{Binding Id,Mode=OneWay}"/>
                        </StackPanel>
                    </StackPanel>
                </Viewbox>
                <Viewbox MaxHeight="{StaticResource FontSize.Value}" HorizontalAlignment="Left" Margin="2">
                    <StackPanel Orientation="Horizontal">
                        <StackPanel Orientation="Horizontal" Margin="{StaticResource TextMargin}"
                                    Background="{StaticResource SemiTransparentGreyBrush2}">
                            <TextBlock Style="{StaticResource TitleStyle}" 
                                                   Text="混合:" />
                            <TextBlock Style="{StaticResource ValueStyle}" 
                                                   Text="{Binding Mix,Mode=OneWay}" 
                                                    />
                            <TextBlock Style="{StaticResource UnitStyle}" 
                                                   Text="幅" />
                        </StackPanel>
                        <StackPanel Orientation="Horizontal" Margin="{StaticResource TextMargin}"
                                    Background="{StaticResource SemiTransparentGreyBrush2}" >
                            <TextBlock Style="{StaticResource TitleStyle}" 
                                                   Text="膜宽:" />
                            <TextBlock Style="{StaticResource ValueStyle}" 
                                                   Text="{Binding FilmWidth,StringFormat={}{0:F0},Mode=OneWay}" 
                                                    />
                            <TextBlock Style="{StaticResource UnitStyle}" 
                                                   Text="mm" />
                        </StackPanel>
                        <StackPanel Orientation="Horizontal" Margin="{StaticResource TextMargin}"
                                    Background="{StaticResource SemiTransparentGreyBrush2}" >
                            <TextBlock Style="{StaticResource ValueStyle}" 
                                                   Text="{Binding Velocity,StringFormat={}{0:F1},Mode=OneWay}" 
                                                    />
                            <TextBlock Style="{StaticResource UnitStyle}" 
                                                   Text="m/min" />
                        </StackPanel>
                        <StackPanel Orientation="Horizontal" Margin="{StaticResource TextMargin}"
                                    Background="{StaticResource SemiTransparentGreyBrush2}" >
                            <TextBlock Style="{StaticResource ValueStyle}" 
                                                   Text="{Binding Position,StringFormat={}{0:F1},Mode=OneWay}" 
                                                    />
                            <TextBlock Style="{StaticResource UnitStyle}" 
                                                   Text="m" />
                        </StackPanel>
                    </StackPanel>
                </Viewbox>
                <Viewbox MaxHeight="{StaticResource FontSize.Value}" HorizontalAlignment="Left" Margin="2"
                             Visibility="{Binding IsSelectedValid,Converter={StaticResource visbilityconv},ConverterParameter=Collapsed}" >
                    <StackPanel Orientation="Horizontal" Margin="{StaticResource TextMargin}"
                                Background="{StaticResource SemiTransparentGreyBrush2}">
                        <TextBlock Style="{StaticResource TitleStyle}" 
                                                   Background="{StaticResource Brushes.Validation}" 
                                                    Foreground="{StaticResource WhiteBrush}"
                                                    Opacity="0.8"
                                                   Width="auto"
                                                   Text=" 测量宽度: " />
                        <TextBlock Style="{StaticResource ValueStyle}" 
                                                   Text="{Binding SelectedWidthMm,Mode=OneWay}" 
                                                    />
                        <TextBlock Style="{StaticResource UnitStyle}" 
                                                   Text="mm" />
                    </StackPanel>
                </Viewbox>
            </StackPanel>
            <Grid Grid.Column="2" Grid.RowSpan="2" Panel.ZIndex="1" 
                  Margin="10,0" VerticalAlignment="Top" HorizontalAlignment="Right"
                  Background="{StaticResource SemiTransparentGreyBrush}" >
                <Viewbox MaxHeight="50">
                    <StackPanel Margin="{StaticResource ControlMargin}">
                        <StackPanel.Resources>
                            <Style TargetType="Viewbox">
                                <Setter Property="Height" Value="25"/>
                                <Setter Property="Width" Value="120"/>
                                <Setter Property="HorizontalAlignment" Value="Left"/>
                                <Setter Property="VerticalAlignment" Value="Top"/>
                            </Style>
                        </StackPanel.Resources>
                        <StackPanel Orientation="Horizontal">
                            <Viewbox >
                                <StackPanel Orientation="Horizontal">
                                    <TextBlock Style="{StaticResource TitleStyle}" 
                                           Foreground="{StaticResource WhiteBrush}"
                                           Background="{StaticResource TextBrush}"
                                           Opacity="0.8"
                                           Text="平均: "
                                           />
                                    <TextBlock Style="{StaticResource ValueStyle}" 
                                           Foreground="{StaticResource WhiteBrush}"
                                           Background="{StaticResource TextBrush}"
                                           Text="{Binding Average,StringFormat={}{0:F1},Mode=OneWay}" 
                                           />
                                </StackPanel>
                            </Viewbox>
                            <Viewbox>
                                <StackPanel Orientation="Horizontal" Background="#99000000">
                                    <TextBlock Style="{StaticResource TitleStyle}" Foreground="White"
                                           Text="  2σ: " 
                                           />
                                    <TextBlock Style="{StaticResource ValueStyle}" 
                                           Foreground="{StaticResource WhiteBrush}"
                                           Background="{StaticResource TextBrush}"
                                           Text="{Binding Sigma2Text}"  
                                           />
                                </StackPanel>
                            </Viewbox>
                        </StackPanel>
                        <StackPanel Orientation="Horizontal">
                            <Viewbox >
                                <StackPanel Orientation="Horizontal">
                                    <TextBlock Style="{StaticResource TitleStyle}" Text="最大: "/>
                                    <TextBlock Style="{StaticResource ValueStyle}" Text="{Binding MaxText}"/>
                                </StackPanel>
                            </Viewbox>
                            <Viewbox >
                                <StackPanel Orientation="Horizontal" >
                                    <TextBlock Style="{StaticResource TitleStyle}" 
                                               Text="最小: " />
                                    <TextBlock Style="{StaticResource ValueStyle}" 
                                               Text="{Binding MinText}"/>
                                </StackPanel>
                            </Viewbox>
                        </StackPanel>
                    </StackPanel>
                </Viewbox>

            </Grid>
        </Grid>
    </Border>
</UserControl>
