You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
181 lines
7.5 KiB
181 lines
7.5 KiB
<!--***********************************************************************************
|
|
|
|
Toolkit for WPF
|
|
|
|
Copyright (C) 2007-2025 Xceed Software Inc.
|
|
|
|
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
|
|
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
|
|
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
|
|
|
|
For more features, controls, and fast professional support,
|
|
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
|
|
|
|
Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids
|
|
|
|
**********************************************************************************-->
|
|
|
|
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:local="clr-namespace:Xceed.Wpf.Toolkit">
|
|
|
|
<LinearGradientBrush x:Key="TextBoxBorder"
|
|
EndPoint="0,20"
|
|
MappingMode="Absolute"
|
|
StartPoint="0,0">
|
|
<GradientStop Color="#ABADB3"
|
|
Offset="0.05" />
|
|
<GradientStop Color="#E2E3EA"
|
|
Offset="0.07" />
|
|
<GradientStop Color="#E3E9EF"
|
|
Offset="1" />
|
|
</LinearGradientBrush>
|
|
|
|
<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>
|
|
|
|
<SolidColorBrush x:Key="TextBox_DisabledBorder"
|
|
Color="#ADB2B5" />
|
|
<SolidColorBrush x:Key="TextBox_DisabledBackground"
|
|
Color="#F4F4F4" />
|
|
|
|
<DataTemplate x:Key="DefaultWatermarkTemplate">
|
|
<ContentControl Content="{Binding}"
|
|
Foreground="Gray"
|
|
Focusable="False" />
|
|
</DataTemplate>
|
|
|
|
<Style x:Key="WatermarkTextBox"
|
|
TargetType="{x:Type local:WatermarkTextBox}">
|
|
<Setter Property="Foreground"
|
|
Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" />
|
|
<Setter Property="Background"
|
|
Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" />
|
|
<Setter Property="BorderBrush"
|
|
Value="{StaticResource TextBoxBorder}" />
|
|
<Setter Property="BorderThickness"
|
|
Value="1" />
|
|
<Setter Property="Padding"
|
|
Value="3" />
|
|
<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="{x:Type local:WatermarkTextBox}">
|
|
<Grid>
|
|
|
|
<Border x:Name="Border"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
CornerRadius="1"
|
|
Background="{TemplateBinding Background}">
|
|
<Grid>
|
|
<ScrollViewer x:Name="PART_ContentHost"
|
|
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
|
|
InputScope="{TemplateBinding InputScope}">
|
|
</ScrollViewer>
|
|
<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>
|
|
<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="MouseOverVisual"
|
|
Property="Opacity"
|
|
Value="1" />
|
|
</Trigger>
|
|
<Trigger Property="IsFocused"
|
|
Value="True">
|
|
<Setter TargetName="FocusVisual"
|
|
Property="Opacity"
|
|
Value="1" />
|
|
</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="{x:Type local:WatermarkTextBox}"
|
|
BasedOn="{StaticResource WatermarkTextBox}" />
|
|
|
|
</ResourceDictionary>
|
|
|