<UserControl x:Class="FLY.Thick.Blowing.UI.UiModule.TrendGraph"
             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.Blowing.UI.UiModule"
             xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
             xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks" 
             xmlns:lvc1="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Feng.Wpf"
             mc:Ignorable="d" 
             d:DesignHeight="300" 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.Blowing.UI;component/Themes/Styles.xaml"/>
                <ResourceDictionary Source="pack://application:,,,/FLY.Thick.Blowing.UI;component/Themes/Colors.xaml"/>
            </ResourceDictionary.MergedDictionaries>

            <local:TrendGraphVmUt x:Key="viewmodel"/>
        </ResourceDictionary>
    </UserControl.Resources>
    <Border Style="{StaticResource BorderStyle_module}" >
        <Grid d:DataContext="{StaticResource viewmodel}">
            <Grid.RowDefinitions>
                <RowDefinition Height="auto"/>
                <RowDefinition Height="100*"/>
                <RowDefinition Height="70*"/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="auto"/>
                <ColumnDefinition Width="400*"/>
                <ColumnDefinition Width="350*"/>
            </Grid.ColumnDefinitions>
            <lvc:CartesianChart Grid.Row="1" Grid.ColumnSpan="3" 
                                Hoverable="False" DisableAnimations="True" DataTooltip="{x:Null}" Margin="5,-5,2,2">
                <lvc:CartesianChart.Resources>
                    <Style TargetType="lvc1:Column2Series">
                        <Setter Property="PointGeometry" Value="{x:Null}"/>
                        <Setter Property="StrokeThickness" Value="0" />
                    </Style>
                </lvc:CartesianChart.Resources>
                <lvc:CartesianChart.Series>
                    <lvc1:Column2Series 
                        Values="{Binding Values}"
                        Configuration="{Binding MapperPositive}"/>
                    <lvc1:Column2Series  
                        Values="{Binding Values}"
                        Configuration="{Binding MapperNegative}"/>
                </lvc:CartesianChart.Series>
                <lvc:CartesianChart.AxisX>
                    <lvc:Axis Foreground="Black" 
                              LabelFormatter="{Binding XFormatter}" 
                              MinValue="0" MaxValue="{Binding XMax}"
                              >
                        <lvc:Axis.Separator>
                            <lvc:Separator Stroke="{StaticResource Brushes.ChartSeparator}" Step ="10"/>
                        </lvc:Axis.Separator>
                    </lvc:Axis>
                </lvc:CartesianChart.AxisX>
                <lvc:CartesianChart.AxisY>
                    <lvc:Axis LabelFormatter="{Binding YFormatter}"  Foreground="Transparent" 
                              MinValue="{Binding YMin}" MaxValue="{Binding YMax}" 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="0" Stroke="{StaticResource Brushes.ChartAxisLabel0}" />
                        </lvc:Axis.Sections>
                        <lvc:Axis.Separator>
                            <lvc:Separator Stroke="{StaticResource Brushes.ChartSeparator}" />
                        </lvc:Axis.Separator>
                    </lvc:Axis>
                </lvc:CartesianChart.AxisY>
            </lvc:CartesianChart>
            <lvc:CartesianChart Grid.Row="2" Grid.ColumnSpan="3" 
                                Hoverable="False" DisableAnimations="True" DataTooltip="{x:Null}" Margin="5,-5,2,2">
                <lvc:CartesianChart.Resources>
                    <Style TargetType="lvc:LineSeries">
                        <Setter Property="PointGeometry" Value="{x:Null}"/>
                        <Setter Property="StrokeThickness" Value="3" />
                        <Setter Property="Fill" Value="{StaticResource Brushes.ChartArea4}"/>
                        <Setter Property="Stroke" Value="{StaticResource Brushes.ChartArea0}"/>
                    </Style>
                </lvc:CartesianChart.Resources>
                <lvc:CartesianChart.Series>
                    <lvc:LineSeries 
                        Values="{Binding Values}"
                        Configuration="{Binding MapperValue}"/>
                </lvc:CartesianChart.Series>
                <lvc:CartesianChart.AxisX>
                    <lvc:Axis Foreground="{StaticResource Brushes.ChartAxisLabel}" 
                              LabelFormatter="{Binding XFormatter}" 
                              MinValue="0" MaxValue="{Binding XMax}"
                              >
                        <lvc:Axis.Separator>
                            <lvc:Separator Stroke="{StaticResource Brushes.ChartSeparator}" Step ="10"/>
                        </lvc:Axis.Separator>
                    </lvc:Axis>
                </lvc:CartesianChart.AxisX>
                <lvc:CartesianChart.AxisY>
                    <lvc:Axis LabelFormatter="{Binding YFormatter2}"  Foreground="{StaticResource Brushes.ChartAxisLabel}" MinRange="1" 
                              FontFamily="Courier New" >
                        <lvc:Axis.Separator>
                            <lvc:Separator Stroke="{StaticResource Brushes.ChartSeparator}" />
                        </lvc:Axis.Separator>
                    </lvc:Axis>
                </lvc:CartesianChart.AxisY>
            </lvc:CartesianChart>
            <Button Style="{StaticResource ButtonStyle_icon}" Margin="48,0,0,-20"
                        Click="Button_info_click" >
                <Grid Style="{StaticResource GridStyle_ButtonShadow}" >
                    <TextBlock  Padding="10,5" VerticalAlignment="Top"
                                    FontSize="24" Foreground="White" 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 BeginTime,Mode=OneWay,StringFormat={}{0:MM-dd HH:mm}}"/>
                                至
                                <Run Text="{Binding EndTime,Mode=OneWay,StringFormat={}{0:MM-dd HH:mm}}"/>
                        </TextBlock>
                    </StackPanel>
                </Viewbox>
                <Viewbox MaxHeight="{StaticResource FontSize.Value}" HorizontalAlignment="Left" Margin="2">
                    <StackPanel Orientation="Horizontal" Margin="{StaticResource Margin.Text}"
                                Background="{StaticResource SemiTransparentGreyBrush2}">
                        <TextBlock Style="{StaticResource TitleStyle}" Text="ID:" />
                        <TextBlock Style="{StaticResource ValueStyle}" Text="{Binding Id}"/>
                    </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="5">
                        <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,Mode=OneWay,StringFormat={}{0:P1}}"
                                           >
                                    </TextBlock>
                                </StackPanel>
                            </Viewbox>
                        </StackPanel>
                        <StackPanel Orientation="Horizontal">
                            <Viewbox >
                                <StackPanel Orientation="Horizontal">
                                    <TextBlock Style="{StaticResource TitleStyle}" Text="最大: "/>
                                    <TextBlock Style="{StaticResource ValueStyle}" 
                                               Text="{Binding Max,Mode=OneWay,StringFormat={}{0:P1}}"/>
                                </StackPanel>
                            </Viewbox>
                            <Viewbox >
                                <StackPanel Orientation="Horizontal" >
                                    <TextBlock Style="{StaticResource TitleStyle}" 
                                               Text="最小: " />
                                    <TextBlock Style="{StaticResource ValueStyle}" 
                                               Text="{Binding Min,Mode=OneWay,StringFormat={}{0:P1}}"/>
                                </StackPanel>
                            </Viewbox>
                        </StackPanel>

                    </StackPanel>
                </Viewbox>
            </Grid>
        </Grid>
    </Border>
</UserControl>