<UserControl x:Class="FLY.HeatingHelper.UI.UiModule.UC_SelectData.UC_SelectData"
             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.HeatingHelper.UI.UiModule.UC_SelectData"
             xmlns:az="clr-namespace:Chart_AlarmZones_WPF_CS"
             xmlns:c1c="clr-namespace:C1.WPF.C1Chart;assembly=C1.WPF.C1Chart.4.5.2"
             xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
             xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
             mc:Ignorable="d" 
             d:DesignHeight="450" d:DesignWidth="800" Background="WhiteSmoke" x:Name="uc1" Loaded="uc1_Loaded">
    <UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Themes/Light.Blue.xaml" />
                <!--<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" />-->
                 <!--accent resource 
                 change "Cobalt" to the accent color you want--> 
                <!--<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Cobalt.xaml" />-->
                 <!--theme resource 
                 change "BaseLight" to the theme you want--> 
                <!--<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />-->
            </ResourceDictionary.MergedDictionaries>
            <Style TargetType="{x:Type Button}" >
                <Setter Property="Background" Value="#cc119eda"/>
                <Setter Property="BorderThickness" Value="0"/>
                <Setter Property="SnapsToDevicePixels" Value="False"/>
                <Setter Property="FontSize" Value="15" />
                <Setter Property="Height" Value="33" />
                <Setter Property="Width" Value="80" />
                <Setter Property="Margin" Value="5" />
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type Button}">
                            <Grid>
                                <Border x:Name="Border" BorderBrush="{TemplateBinding BorderBrush}"  Background="{TemplateBinding Background}"  SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" CornerRadius="5"/>
                                <ContentPresenter   Content="{TemplateBinding Content}" VerticalAlignment="Center" HorizontalAlignment="Center"  />
                            </Grid>
                            <ControlTemplate.Triggers>
                                <Trigger Property="IsMouseOver" Value="True">
                                    <Setter Property="Background" TargetName="Border" Value="#66119eda"/>
                                </Trigger>
                                <Trigger Property="IsPressed" Value="True">
                                    <Setter Property="Background" TargetName="Border" Value="#ff444444"/>
                                    <Setter Property="Foreground" Value="#ffffffff" />
                                </Trigger>
                                <Trigger Property="IsEnabled" Value="False">
                                    <Setter Property="Opacity"  Value="0.3"/>
                                </Trigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
            <Style TargetType="Label" >
                <Setter Property="FontSize" Value="20" />
                <Setter Property="Margin" Value="0,5" />
            </Style>
            <Style TargetType="StackPanel">
                <Setter Property="Width" Value="250" />
                <Setter Property="Margin" Value="10,0" />
            </Style>
        </ResourceDictionary>
    </UserControl.Resources>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <Grid Grid.Row="0">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="auto"/>
                <ColumnDefinition Width="auto"/>
                <ColumnDefinition Width="auto"/>
                <ColumnDefinition Width="auto"/>
            </Grid.ColumnDefinitions>
            <StackPanel Orientation="Vertical" Grid.Column="0" >
                <Label x:Uid="123" Content="数据范围:"  />
                <Controls:DateTimePicker Controls:TextBoxHelper.UseFloatingWatermark="False"  MinWidth="180"
                                         SelectedDateTime="{Binding Dat.TotalDataFrom, Mode=OneWay}"
                                         Margin="0,0,0,5" 
                                         IsEnabled="False">
                </Controls:DateTimePicker>
                <Controls:DateTimePicker Controls:TextBoxHelper.UseFloatingWatermark="False"  MinWidth="180"
                                         SelectedDateTime="{Binding Path=Dat.TotalDataTo, Mode=OneWay}"
                                         Margin="0,1,0,0" IsEnabled="False">

                </Controls:DateTimePicker>
            </StackPanel>
            <StackPanel Orientation="Vertical" Grid.Column="1" >
                <Label Content="加载数据范围:"   />
                <Controls:DateTimePicker Controls:TextBoxHelper.UseFloatingWatermark="False"  MinWidth="180"
                                         SelectedDateTime="{Binding Path=Dat.LoadDataFrom}"
                                         Margin="0,0,0,5">

                </Controls:DateTimePicker>
                <Controls:DateTimePicker Controls:TextBoxHelper.UseFloatingWatermark="False"  MinWidth="180"
                                         SelectedDateTime="{Binding Path=Dat.LoadDataTo}"
                                         Name="dtp4"
                                         Margin="0,1,0,0">

                </Controls:DateTimePicker>

            </StackPanel>
            <StackPanel Orientation="Vertical" Grid.Column="2">
                <Controls:ToggleSwitch Content="过滤加热重复项" Margin="30,10" IsOn="{Binding Path=Dat.IsDataFilter}"   Style="{StaticResource MahApps.Styles.ToggleSwitch}" FontSize="15"/>
                <Controls:ToggleSwitch Content="过滤不稳定数据" Margin="30,10" IsOn="{Binding Path=Dat.IsFilterUnstable}"   Style="{StaticResource MahApps.Styles.ToggleSwitch}" FontSize="15"/>
                <Button Content="缺省数据范围"  Width="180"
                        Command="{Binding DefaultLoadDataRange}"/>
                <Button Content="加载数据"   Width="180"
                        Command="{Binding ReloadData}"/>
            </StackPanel>
            <StackPanel Orientation="Vertical" Grid.Column="3" >
                <Label Content="加载数据数量:"  />
                <TextBox Controls:TextBoxHelper.Watermark="Watermark" Margin="0,5"  FontSize="20"
                         Text="{Binding RecordCount, Mode=OneWay}"
                         IsEnabled="False" />
            </StackPanel>
        </Grid>
        <Grid Grid.Row="1">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="auto"/>
                <ColumnDefinition Width="auto"/>
                <ColumnDefinition Width="auto"/>
                <ColumnDefinition Width="auto"/>
            </Grid.ColumnDefinitions>
            <StackPanel Orientation="Vertical" Grid.Column="0" Margin="0,0,5,0" Style="{x:Null}">
                <StackPanel Orientation="Horizontal" Style="{x:Null}">
                    <Label Content="分析数据范围:"/>
                    <TextBlock Margin="25,10,0,0" FontSize="20">
                        <TextBlock.Text>
                            <MultiBinding StringFormat="{}({0:MM/dd HH:mm:ss})-({1:MM/dd HH:mm:ss})">
                                <Binding Path="AnalystDataFrom" />
                                <Binding Path="AnalystDataTo" />
                            </MultiBinding>
                        </TextBlock.Text>
                    </TextBlock>
                    <TextBlock Margin="25,10,0,0" FontSize="20">
                        <TextBlock.Text>
                            <MultiBinding StringFormat="{}({0})-({1})">
                                <Binding Path="Dat.AnalystIndexFrom" />
                                <Binding Path="Dat.AnalystIndexTo" />
                            </MultiBinding>
                        </TextBlock.Text>
                    </TextBlock>
                </StackPanel>
                <Controls:RangeSlider Minimum="0" Margin="20,0"
                                      Maximum="{Binding RecordCount, Mode=OneWay}"
                                      LowerValue="{Binding Dat.AnalystIndexFrom}"
                                      UpperValue="{Binding Dat.AnalystIndexTo}"
                                      Style="{StaticResource MahApps.Styles.RangeSlider.Win10}">

                </Controls:RangeSlider>
            </StackPanel>
            <Button Content="前一项" 
                    Grid.Column="1" MinWidth="80" Margin="5"
                    Command="{Binding PreData}"/>
            <Button Content="后一项" 
                    Grid.Column="2" MinWidth="80" Margin="5"
                    Command="{Binding NextData}"/>
            <Button Content="缺省项" 
                    Grid.Column="3" MinWidth="80" Margin="5"
                    Command="{Binding DefaultAnalystData}"/>
            <Button Content="test" Click="Button_Click" Grid.Column="4"  
                    Command="{Binding Test}" Margin="5" MinWidth="80"
                    />
        </Grid>
        <Border Grid.Row="2" Margin="2,5,2,2">
            <c1c:C1Chart Name="c1chart" ChartType="columnstacked" 
                         Margin="5,0,0,0" FontSize="12" Loaded="C1chart_Loaded">
                <c1c:C1Chart.Data>
                    <c1c:ChartData>
                        <c1c:DataSeries ValuesSource="{Binding DS_2sigma}" RenderMode="Default" PlotElementLoaded="DataSeries_PlotElementLoaded"/>
                        <c1c:DataSeries ValuesSource="{Binding DS_2sigmaN}" RenderMode="Default" PlotElementLoaded="DataSeries_PlotElementLoaded"/>
                        <az:AlarmZone Near="{Binding Dat.AnalystIndexFrom}" AxisY="ay1" 
                                      Far="{Binding Dat.AnalystIndexTo}" 
                                      LowExtent="-1"
                                      UpperExtent="11"
                                      ConnectionFill="AliceBlue"/>
                        <c1c:DataSeries ValuesSource="{Binding DS_thick}" AxisY="ay0" Label="厚度" ChartType="line"/>
                    </c1c:ChartData>
                </c1c:C1Chart.Data>
                <c1c:C1Chart.View>
                    <c1c:ChartView>
                        <c1c:ChartView.PlotAreaRowDefinitions>
                            <c1c:PlotAreaRowDefinition Height="*"/>
                            <c1c:PlotAreaRowDefinition Height="*"/>
                        </c1c:ChartView.PlotAreaRowDefinitions>
                        <c1c:ChartView.PlotAreas>
                            <c1c:PlotArea/>
                            <c1c:PlotArea Row="1"/>
                        </c1c:ChartView.PlotAreas>
                        <c1c:ChartView.AxisY>
                            <c1c:Axis Title="2Sigma" Position="Near"
                                  Min="-0.09" Max="0.09" PlotAreaIndex="0" MajorGridStroke="Blue"
                                  MajorUnit="0.03"/>
                        </c1c:ChartView.AxisY>
                        <c1c:ChartView.AxisX>
                            <c1c:Axis Max="{Binding RecordCount, Mode=OneWay}" Min="0"/>
                        </c1c:ChartView.AxisX>
                        <c1c:Axis Name="ay0" AxisType="Y" Title="厚度" Position="Near" 
                                  PlotAreaIndex="1"/>
                        <c1c:Axis Visible="False" Min="0" Max="10" PlotAreaIndex="1" Name="ay1"/>
                    </c1c:ChartView>
                </c1c:C1Chart.View>
            </c1c:C1Chart>
        </Border>
    </Grid>
</UserControl>