<Page x:Class="FLY.Winder.UI.Client.UIModule.Page_DynArea"
      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.Winder.UI.Client.UIModule"
      xmlns:conv="clr-namespace:FLY.Winder.UI.Client.Converter"
      xmlns:sys="clr-namespace:System;assembly=mscorlib"  
      mc:Ignorable="d" 
      d:DesignWidth="292"
      Title="Page_DynArea">
    <Page.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/FLY.ControlLibrary;component/Themes/Dictionary_MyStyle.xaml"/>
                <ResourceDictionary Source="pack://application:,,,/FLY.ControlLibrary;component/Converter/Dictionary_MyConv.xaml"/>
                <ResourceDictionary Source="pack://application:,,,/FLY.Winder.UI.Client;component/UnitTests/UnitTests_winder.xaml"/>
                <ResourceDictionary Source="pack://application:,,,/FLY.Winder.UI.Client;component/Themes/Dictionary_MyStyle.xaml"/>

            </ResourceDictionary.MergedDictionaries>

            <sys:Double x:Key="FontSize_title">18</sys:Double>
            <sys:Double x:Key="FontSize_unit">12</sys:Double>
            

            <Style TargetType="{x:Type Path}" x:Key="PathStyle_icon">
                <Setter Property="Fill" Value="White"/>
                <Setter Property="Stretch" Value="Uniform"/>
                <Setter Property="Width" Value="30"/>
                <Setter Property="Height" Value="30"/>
                <Setter Property="SnapsToDevicePixels" Value="True"/>
            </Style>

            <local:DynAreaViewModelParams x:Key="unitests_props" IsError="False" Error="报警MSG"/>
            <conv:IsGTMultiValueConverter x:Key="isgtconv"/>
        </ResourceDictionary>
    </Page.Resources>
    
    <Button Style="{StaticResource ButtonStyle_empty}" Background="Transparent" Click="Button_Click">
        <Grid>
            <Grid x:Name="grid_winder" d:DataContext="{StaticResource unittests_windersystem}"/>
            <Grid x:Name="grid_error" d:DataContext="{StaticResource unitests_props}"/>

            <Border Style="{StaticResource BorderStyle_module}" 
                    DataContext="{Binding DataContext,ElementName=grid_winder}">
                <StackPanel Orientation="Vertical" >
                    <Grid >
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="auto"/>
                            <ColumnDefinition/>
                        </Grid.ColumnDefinitions>
                        <TextBlock Text="速度"  Margin="4" FontSize="{StaticResource FontSize_title}"/>

                        <Viewbox Grid.Column="1" Grid.Row="1"  MaxHeight="80" HorizontalAlignment="Left">
                            <StackPanel Orientation="Horizontal">

                                <TextBlock Margin="4" >
                                    <Run Text="{Binding Accessory.Velocity,StringFormat={}{0:F1}}"  FontSize="60" />
                                </TextBlock>
                                <TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent_mm}" Text="m/min" FontSize="20" />
                            </StackPanel>
                        </Viewbox>

                    </Grid>
                    <Grid Margin="2">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition/>
                            <ColumnDefinition />
                        </Grid.ColumnDefinitions>
                        <StackPanel Orientation="Horizontal" Margin="2" DataContext="{Binding Items[0]}">
                            <TextBlock Text="内收卷" FontSize="12" FontWeight="Bold" FontFamily="YouYuan" Foreground="LightGray" Margin="2" />
                            <Viewbox Margin="5,0" MaxWidth="80" MaxHeight="26">
                                <StackPanel Orientation="Horizontal" >
                                    <TextBlock Text="{Binding MeasureLen, StringFormat={}{0:F0}}" FontSize="24" FontFamily="Microsoft Sans Serif" TextAlignment="Center" HorizontalAlignment="Center" Foreground="White" />
                                    <TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent_mm}" Text="mm" FontSize="12" Foreground="LightGray"/>
                                </StackPanel>
                            </Viewbox>
                            
                            <StackPanel.Style>
                                <Style TargetType="StackPanel">
                                    <Setter Property="Background" Value="{StaticResource Color_theme_static}"/>
                                    <Style.Triggers>
                                        <DataTrigger  Value="True">
                                            <DataTrigger.Binding>
                                                <MultiBinding Converter="{StaticResource isgtconv}">
                                                    <Binding Path="MeasureLen"/>
                                                    <Binding Path="MeasurePreWarning"/>
                                                </MultiBinding>
                                            </DataTrigger.Binding>
                                            <Setter Property="Background" Value="Red"/>
                                        </DataTrigger>
                                    </Style.Triggers>
                                </Style>
                            </StackPanel.Style>
                        </StackPanel>
                        <StackPanel Grid.Column="1" Orientation="Horizontal" Margin="2" DataContext="{Binding Items[1]}">
                            <TextBlock Text="外收卷" FontSize="12" FontWeight="Bold" FontFamily="YouYuan" Foreground="LightGray" Margin="2" />
                            <Viewbox Margin="5,0" MaxWidth="80" MaxHeight="26">
                                <StackPanel Orientation="Horizontal" >
                                    <TextBlock Text="{Binding MeasureLen, StringFormat={}{0:F0}}" FontSize="24" FontFamily="Microsoft Sans Serif" TextAlignment="Center" HorizontalAlignment="Center" Foreground="White" />
                                    <TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent_mm}" Text="mm" FontSize="12" Foreground="LightGray"/>
                                </StackPanel>
                            </Viewbox>

                            <StackPanel.Style>
                                <Style TargetType="StackPanel">
                                    <Setter Property="Background" Value="{StaticResource Color_theme_static}"/>
                                    <Style.Triggers>
                                        <DataTrigger  Value="True">
                                            <DataTrigger.Binding>
                                                <MultiBinding Converter="{StaticResource isgtconv}">
                                                    <Binding Path="MeasureLen"/>
                                                    <Binding Path="MeasurePreWarning"/>
                                                </MultiBinding>
                                            </DataTrigger.Binding>
                                            <Setter Property="Background" Value="Red"/>
                                        </DataTrigger>
                                    </Style.Triggers>
                                </Style>
                            </StackPanel.Style>
                        </StackPanel>
                    </Grid>
                </StackPanel>
            </Border>

            <Border Style="{StaticResource BorderStyle_module}" Background="Red" 
                    DataContext="{Binding DataContext,ElementName=grid_error}"
                    Visibility="{Binding IsError,Converter={StaticResource visbilityconv}}">
                <Grid >
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="auto"/>
                        <ColumnDefinition/>
                    </Grid.ColumnDefinitions>
                    <Path Margin="5" Fill="White" Stretch="Uniform" Width="60" Height="60" SnapsToDevicePixels="True" Data="{StaticResource Geometry_alert-circle-outline}"  >
                        <Path.Style>
                            <Style TargetType="Path">
                                <Style.Triggers>
                                    <DataTrigger Binding="{Binding IsError}" Value="True">
                                        <DataTrigger.EnterActions>
                                            <BeginStoryboard>
                                                <Storyboard RepeatBehavior="Forever" >
                                                    <DoubleAnimation BeginTime="0:0:0" Storyboard.TargetProperty="Opacity" From="1" To="0" Duration="00:00:01" />
                                                    <DoubleAnimation BeginTime="0:0:1" Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="00:00:01" />
                                                </Storyboard>
                                            </BeginStoryboard>
                                        </DataTrigger.EnterActions>
                                    </DataTrigger>
                                </Style.Triggers>
                            </Style>
                        </Path.Style>
                    </Path>
                    <TextBlock Grid.Column="1" Margin="5" VerticalAlignment="Center" TextWrapping="Wrap" FontSize="30" Foreground="White" Text="{Binding Error}"/>
                </Grid>

            </Border>

        </Grid>
    </Button>
</Page>