<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:r="clr-namespace:Eto.Wpf.CustomControls.TreeGridView"
    xmlns:efc="clr-namespace:Eto.Wpf.Forms.Controls"
    xmlns:e="clr-namespace:Eto.Wpf"
    xmlns:s="clr-namespace:System;assembly=mscorlib"
    xmlns:themes="clr-namespace:Xceed.Wpf.Toolkit.Themes;assembly=Xceed.Wpf.Toolkit"
    xmlns:local="clr-namespace:Xceed.Wpf.Toolkit;assembly=Xceed.Wpf.Toolkit">

    <DataTemplate x:Key="DefaultWatermarkTemplate">

        <ContentControl Content="{Binding}"
                    Foreground="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"
                    Focusable="False" />
    </DataTemplate>

    <LinearGradientBrush x:Key="TextBox_MouseOver" EndPoint="0,1" StartPoint="0,0">
        <GradientStop Color="#5794BF" Offset="0.05" />
        <GradientStop Color="#B7D5EA" Offset="0.07" />
        <GradientStop Color="#C7E2F1" Offset="1" />
    </LinearGradientBrush>

    <LinearGradientBrush x:Key="TextBox_Focused" EndPoint="0,1" StartPoint="0,0">
        <GradientStop Color="#3D7BAD" Offset="0.05" />
        <GradientStop Color="#A4C9E3" Offset="0.07" />
        <GradientStop Color="#B7D9ED" Offset="1" />
    </LinearGradientBrush>


    <!-- =============================================================================== -->
    <!-- WatermarkTextBox                                                                -->
    <!-- =============================================================================== -->

    <Style x:Key="WatermarkTextBox" TargetType="local:WatermarkTextBox">
        <Setter Property="AllowDrop" Value="true" />
        <Setter Property="FocusVisualStyle" Value="{x:Null}" />
        <Setter Property="ScrollViewer.PanningMode" Value="VerticalFirst" />
        <Setter Property="Stylus.IsFlicksEnabled" Value="False" />
        <Setter Property="WatermarkTemplate" Value="{StaticResource DefaultWatermarkTemplate}" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="local:WatermarkTextBox">
                    <Grid>
                        <Border x:Name="Border"
                            BorderThickness="{TemplateBinding BorderThickness}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            Background="{TemplateBinding Background}">
                            <Grid>
                                <ScrollViewer 
                                    x:Name="PART_ContentHost" 
                                    Margin="-2,0"
                                    SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
                                <ContentPresenter x:Name="PART_WatermarkHost"
                                  Content="{TemplateBinding Watermark}"
                                  ContentTemplate="{Binding WatermarkTemplate, RelativeSource={RelativeSource TemplatedParent}, TargetNullValue={StaticResource DefaultWatermarkTemplate}}"
                                  VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                  HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                  IsHitTestVisible="False"
                                  Margin="{TemplateBinding Padding}"
                                  Visibility="Collapsed" />
                            </Grid>
                        </Border>
                        <Border x:Name="MouseOverVisual"
                            Opacity="0"
                            BorderThickness="{TemplateBinding BorderThickness}"
                            BorderBrush="{StaticResource TextBox_MouseOver}"
                            CornerRadius="1" />
                        <Border x:Name="FocusVisual"
                            Opacity="0"
                            BorderThickness="{TemplateBinding BorderThickness}"
                            BorderBrush="{StaticResource TextBox_Focused}"
                            CornerRadius="1" />

                    </Grid>
                    <ControlTemplate.Triggers>
                        
                        <!-- Defaults -->
                        <MultiTrigger>
                            <MultiTrigger.Conditions>
                                <Condition Property="KeepWatermarkOnGotFocus" Value="False" />
                                <Condition Property="IsFocused" Value="False" />
                                <Condition Property="Text" Value="" />
                            </MultiTrigger.Conditions>
                            <MultiTrigger.Setters>
                                <Setter Property="Visibility" TargetName="PART_WatermarkHost" Value="Visible" />
                            </MultiTrigger.Setters>
                        </MultiTrigger>
                        <MultiTrigger>
                            <MultiTrigger.Conditions>
                                <Condition Property="KeepWatermarkOnGotFocus" Value="True" />
                                <Condition Property="Text" Value="" />
                            </MultiTrigger.Conditions>
                            <MultiTrigger.Setters>
                                <Setter Property="Visibility" TargetName="PART_WatermarkHost" Value="Visible" />
                            </MultiTrigger.Setters>
                        </MultiTrigger>
                        <Trigger Property="IsMouseOver" Value="True">
                            <Setter TargetName="Border" Property="BorderBrush" Value="{DynamicResource {x:Static themes:ResourceKeys.ControlMouseOverBorderKey}}" />
                        </Trigger>
                        <Trigger Property="IsKeyboardFocusWithin" Value="True">
                            <Setter TargetName="Border" Property="BorderBrush" Value="{DynamicResource {x:Static themes:ResourceKeys.ControlSelectedBorderKey}}" />
                        </Trigger>
                        <Trigger Property="IsEnabled" Value="False">
                            <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style TargetType="efc:EtoWatermarkTextBox" BasedOn="{StaticResource WatermarkTextBox}" />




</ResourceDictionary>