﻿<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:local="clr-namespace:HMI.UI">
    <RadialGradientBrush x:Key="RedLight" GradientOrigin="0.3,0.3" 
                     RadiusX="0.7" 
                     RadiusY="0.7">
        <RadialGradientBrush.GradientStops>
            <GradientStop Color="#fd583e" Offset="0"/>
            <GradientStop Color="#d5341f" Offset="0.5"/>
            <GradientStop Color="#aa0e00" Offset="1"/>
        </RadialGradientBrush.GradientStops>
    </RadialGradientBrush>

    <RadialGradientBrush x:Key="GreenLight" GradientOrigin="0.3,0.3" 
                         RadiusX="0.7" 
                         RadiusY="0.7">
        <RadialGradientBrush.GradientStops>
            <GradientStop Color="#1b9e14" Offset="1"/>
            <GradientStop Color="#21c418" Offset="0.5"/>
            <GradientStop Color="#28ea1d" Offset="0"/>
        </RadialGradientBrush.GradientStops>
    </RadialGradientBrush>

    <Style TargetType="{x:Type local:LightBall}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type local:LightBall}">
                    <StackPanel Orientation="Horizontal" VerticalAlignment="Center">
                        <Ellipse Height="{TemplateBinding Size}" Width="{TemplateBinding Size}" VerticalAlignment="Center">
                            <Ellipse.Style>
                                <Style TargetType="Ellipse">
                                    <Setter Property="Fill" Value="Gray"/>
                                    <Style.Triggers>
                                        <DataTrigger Binding="{Binding Value,RelativeSource={RelativeSource Mode=TemplatedParent}}" Value="True">
                                            <Setter Property="Fill" Value="{StaticResource GreenLight}"/>
                                        </DataTrigger>
                                        <DataTrigger Binding="{Binding Value,RelativeSource={RelativeSource Mode=TemplatedParent}}" Value="False">
                                            <Setter Property="Fill" Value="{StaticResource RedLight}"/>
                                        </DataTrigger>
                                    </Style.Triggers>
                                </Style>
                            </Ellipse.Style>
                        </Ellipse>
                        <ContentPresenter Margin="5,0,0,0" VerticalAlignment="Center"/>
                    </StackPanel>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style TargetType="{x:Type local:EditBox}">
        <Setter Property="HorizontalAlignment" Value="Stretch" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type local:EditBox}">
                    <Grid Cursor="Hand" MinWidth="{TemplateBinding MinWidth}" Background="{TemplateBinding Background}">
                        <Border x:Name="sb" VerticalAlignment="Center" Padding="0" Margin="0">
                            <Border.Style>
                                <Style TargetType="Border">
                                    <Setter Property="BorderThickness" Value="0"/>
                                    <Setter Property="BorderBrush" Value="Transparent"/>
                                    <Style.Triggers>
                                        <MultiDataTrigger>
                                            <MultiDataTrigger.Conditions>
                                                <Condition Binding="{Binding Path=Value, RelativeSource={RelativeSource TemplatedParent}}" Value=""/>
                                                <Condition Binding="{Binding Path=ShowEmpty, RelativeSource={RelativeSource TemplatedParent}}" Value="True"/>
                                            </MultiDataTrigger.Conditions>
                                            <MultiDataTrigger.Setters>
                                                <Setter Property="BorderBrush" Value="Black"/>
                                                <Setter Property="BorderThickness" Value="0,0,0,0.6"/>
                                            </MultiDataTrigger.Setters>
                                        </MultiDataTrigger>
                                        <MultiDataTrigger>
                                            <MultiDataTrigger.Conditions>
                                                <Condition Binding="{Binding Path=Value, RelativeSource={RelativeSource TemplatedParent}}" Value="{x:Null}"/>
                                                <Condition Binding="{Binding Path=ShowEmpty, RelativeSource={RelativeSource TemplatedParent}}" Value="True"/>
                                            </MultiDataTrigger.Conditions>
                                            <MultiDataTrigger.Setters>
                                                <Setter Property="BorderBrush" Value="Black"/>
                                                <Setter Property="BorderThickness" Value="0,0,0,0.6"/>
                                            </MultiDataTrigger.Setters>
                                        </MultiDataTrigger>
                                    </Style.Triggers>
                                </Style>
                            </Border.Style>
                            <TextBlock x:Name="PART_TextBlockPart" 
                                       FontSize="{TemplateBinding FontSize}"
                                       TextWrapping="NoWrap" Padding="0" VerticalAlignment="Center"
                               Text="{Binding Path=Value, RelativeSource={RelativeSource TemplatedParent}}"/>
                        </Border>
                        <TextBox x:Name="PART_TextBoxPart" BorderThickness="1" Padding="0" Background="#FFF"
                                       FontSize="{TemplateBinding FontSize}" Visibility="Collapsed"
                               Text="{Binding Path=Value, RelativeSource={RelativeSource TemplatedParent}}"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style TargetType="{x:Type local:TableComboBox}">
        <Setter Property="HorizontalAlignment" Value="Stretch" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type local:TableComboBox}">
                    <Grid Cursor="Hand" MinWidth="{TemplateBinding MinWidth}" Background="{TemplateBinding Background}">
                        <Border x:Name="sb" VerticalAlignment="Center" Padding="0" Margin="0">
                            <Border.Style>
                                <Style TargetType="Border">
                                    <Setter Property="BorderThickness" Value="0"/>
                                    <Setter Property="BorderBrush" Value="Transparent"/>
                                    <Style.Triggers>
                                        <MultiDataTrigger>
                                            <MultiDataTrigger.Conditions>
                                                <Condition Binding="{Binding Path=Value, RelativeSource={RelativeSource TemplatedParent}}" Value=""/>
                                                <Condition Binding="{Binding Path=ShowEmpty, RelativeSource={RelativeSource TemplatedParent}}" Value="True"/>
                                            </MultiDataTrigger.Conditions>
                                            <MultiDataTrigger.Setters>
                                                <Setter Property="BorderBrush" Value="Black"/>
                                                <Setter Property="BorderThickness" Value="0,0,0,0.6"/>
                                            </MultiDataTrigger.Setters>
                                        </MultiDataTrigger>
                                        <MultiDataTrigger>
                                            <MultiDataTrigger.Conditions>
                                                <Condition Binding="{Binding Path=Value, RelativeSource={RelativeSource TemplatedParent}}" Value="{x:Null}"/>
                                                <Condition Binding="{Binding Path=ShowEmpty, RelativeSource={RelativeSource TemplatedParent}}" Value="True"/>
                                            </MultiDataTrigger.Conditions>
                                            <MultiDataTrigger.Setters>
                                                <Setter Property="BorderBrush" Value="Black"/>
                                                <Setter Property="BorderThickness" Value="0,0,0,0.6"/>
                                            </MultiDataTrigger.Setters>
                                        </MultiDataTrigger>
                                    </Style.Triggers>
                                </Style>
                            </Border.Style>
                            <TextBlock x:Name="PART_TextBlockPart" 
                                   FontSize="{TemplateBinding FontSize}"
                                   TextWrapping="NoWrap" Padding="0" VerticalAlignment="Center"
                           Text="{Binding Path=Value, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"/>
                        </Border>
                        <ComboBox x:Name="PART_ComboBoxPart" BorderThickness="0" Padding="0" 
                                   FontSize="{TemplateBinding FontSize}" Visibility="Collapsed"
                           Text="{Binding Path=Value, RelativeSource={RelativeSource TemplatedParent}}"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style TargetType="{x:Type local:ScrollLabel}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type local:ScrollLabel}">
                    <ScrollViewer Name="slv" IsHitTestVisible="False" Width="{TemplateBinding Width}" 
                                  VerticalScrollBarVisibility="Hidden" 
                                  BorderThickness="0"
                                  HorizontalScrollBarVisibility="Hidden">
                        <Label x:Name="label" Content="{Binding Path=Value, RelativeSource={RelativeSource TemplatedParent}}" 
                               VerticalContentAlignment="Center" 
                               BorderThickness="0"
                               Foreground="{TemplateBinding Foreground}"
                               Padding="{TemplateBinding Padding}"
                               Margin="{TemplateBinding Margin}"
                               HorizontalContentAlignment="Left" FontSize="{TemplateBinding FontSize}">
                            <!--<Label.Triggers>
                                <EventTrigger RoutedEvent="Label.Loaded">
                                    <BeginStoryboard HandoffBehavior="Compose">
                                        <Storyboard>
                                            <DoubleAnimation From="0" 
                     To="{Binding ElementName=slv,Path=ScrollableWidth}"
                     Duration="0:0:3"
                     Storyboard.TargetName="slv"
                     AutoReverse="True"
                     RepeatBehavior="Forever"
                     BeginTime="0:0:0.2"
                     Storyboard.TargetProperty="(local:ScrollViewerBehavior.HorizontalOffset)">
                                            </DoubleAnimation>
                                        </Storyboard>
                                    </BeginStoryboard>
                                </EventTrigger>
                            </Label.Triggers>-->
                        </Label>
                    </ScrollViewer>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>