<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ctr="clr-namespace:XFEToolBox.WpfCore.Controls">
<StreamGeometry x:Key="SearchIconGeometry">M 7,1 A 6,6 0 1 1 7,13 A 6,6 0 1 1 7,1 M 11.25,11.25 L 15,15</StreamGeometry>
<Style TargetType="{x:Type ctr:SwitchButton}">
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="IsTabStop" Value="True"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="Margin" Value="0,10"/>
<Setter Property="RenderTransformOrigin" Value="0.5,0.5"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ToggleButton">
<Grid x:Name="root" SnapsToDevicePixels="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid Width="40" Height="20">
<Border x:Name="track" Width="40" Height="20" CornerRadius="10" Background="#F3F3F3" BorderBrush="#767676" BorderThickness="1"/>
<Border x:Name="thumb" Width="12" Height="12" Background="#5F5F5F" CornerRadius="6" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="4,0,0,0" RenderTransformOrigin="0.5,0.5">
<Border.RenderTransform>
<TransformGroup>
<ScaleTransform x:Name="thumbScale" ScaleX="1" ScaleY="1"/>
<TranslateTransform x:Name="thumbTransform" X="0"/>
</TransformGroup>
</Border.RenderTransform>
</Border>
</Grid>
<ContentPresenter x:Name="content" Grid.Column="1" Margin="10,0,0,0" VerticalAlignment="Center"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="track" Property="Background" Value="{DynamicResource MainColor}"/>
<Setter TargetName="track" Property="BorderBrush" Value="{DynamicResource MainColor}"/>
<Setter TargetName="thumb" Property="Background" Value="White"/>
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="thumbTransform" Storyboard.TargetProperty="X" To="20" Duration="0:0:0.18">
<DoubleAnimation.EasingFunction><CubicEase EasingMode="EaseOut"/></DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="thumbTransform" Storyboard.TargetProperty="X" To="0" Duration="0:0:0.18">
<DoubleAnimation.EasingFunction><CubicEase EasingMode="EaseOut"/></DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
</Trigger>
<EventTrigger RoutedEvent="MouseEnter" SourceName="track">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="thumbScale" Storyboard.TargetProperty="ScaleX" To="1.18" Duration="0:0:0.16">
<DoubleAnimation.EasingFunction><CubicEase EasingMode="EaseOut"/></DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="thumbScale" Storyboard.TargetProperty="ScaleY" To="1.18" Duration="0:0:0.16">
<DoubleAnimation.EasingFunction><CubicEase EasingMode="EaseOut"/></DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave" SourceName="track">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="thumbScale" Storyboard.TargetProperty="ScaleX" To="1" Duration="0:0:0.16">
<DoubleAnimation.EasingFunction><CubicEase EasingMode="EaseOut"/></DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="thumbScale" Storyboard.TargetProperty="ScaleY" To="1" Duration="0:0:0.16">
<DoubleAnimation.EasingFunction><CubicEase EasingMode="EaseOut"/></DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<Trigger Property="IsPressed" Value="True">
<Setter TargetName="thumb" Property="Width" Value="14"/>
<Setter TargetName="thumb" Property="Height" Value="14"/>
<Setter TargetName="thumb" Property="CornerRadius" Value="7"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="root" Property="Opacity" Value="0.45"/>
<Setter Property="Cursor" Value="Arrow"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type ctr:TabUnderLineButton}">
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="IsTabStop" Value="False"/>
<Setter Property="RenderTransformOrigin" Value="0.5,0.5"/>
<Setter Property="Margin" Value="10,0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="4"/>
</Grid.RowDefinitions>
<ContentPresenter x:Name="content" Opacity="0.5"/>
<Border x:Name="tagBorder" Background="{DynamicResource MainColor}" Grid.Row="1" CornerRadius="3" Height="4" Width="0"/>
<Border x:Name="tipBorder" Background="{DynamicResource MainColor}" Grid.Row="1" CornerRadius="20" Width="4" Height="4" Opacity="0"/>
</Grid>
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="tipBorder" Storyboard.TargetProperty="Opacity" From="0" To="0.8" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="tipBorder" Storyboard.TargetProperty="Opacity" From="0.8" To="0" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="Checked">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="tagBorder" Storyboard.TargetProperty="Width" From="0" To="20" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="content" Storyboard.TargetProperty="Opacity" From="0.5" To="1" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="Unchecked">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="tagBorder" Storyboard.TargetProperty="Width" From="20" To="0" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="content" Storyboard.TargetProperty="Opacity" From="1" To="0.5" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type ctr:NavigationButton}">
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="IsTabStop" Value="False"/>
<Setter Property="RenderTransformOrigin" Value="0.5,0.5"/>
<Setter Property="Margin" Value="10,0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Border x:Name="outBorder" Height="50" Background="{DynamicResource BackgroundColor}">
<Border x:Name="mainBorder" CornerRadius="15" Height="40" HorizontalAlignment="Stretch" Background="{DynamicResource BackgroundColor}" BorderBrush="#9898e7" BorderThickness="1.5" RenderTransformOrigin="0.5,0.5">
<Border.RenderTransform>
<ScaleTransform x:Name="mainBorderScale" ScaleX="1" ScaleY="1"/>
</Border.RenderTransform>
<Border.Effect>
<DropShadowEffect x:Name="mainBorderShadow" Color="#9898e7" BlurRadius="8" ShadowDepth="3" Direction="-45" Opacity="0"/>
</Border.Effect>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40"/>
<ColumnDefinition Width="10"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border x:Name="borderSplit" Grid.Column="1" Background="{DynamicResource MainColor}" CornerRadius="2" Width="3" Opacity="0.5" HorizontalAlignment="Left" VerticalAlignment="Stretch" Margin="0,5"/>
<ContentPresenter Grid.ColumnSpan="3"/>
</Grid>
</Border>
</Border>
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="mainBorderScale" Storyboard.TargetProperty="ScaleX" From="1" To="1.1" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="mainBorderScale" Storyboard.TargetProperty="ScaleY" From="1" To="1.1" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="outBorder" Storyboard.TargetProperty="Height" From="50" To="70" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="mainBorderScale" Storyboard.TargetProperty="ScaleX" From="1.1" To="1" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="mainBorderScale" Storyboard.TargetProperty="ScaleY" From="1.1" To="1" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="outBorder" Storyboard.TargetProperty="Height" From="70" To="50" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="Checked">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="mainBorderShadow" Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="borderSplit" Storyboard.TargetProperty="Opacity" From="0.5" To="1" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="Unchecked">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="mainBorderShadow" Storyboard.TargetProperty="Opacity" From="1" To="0" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="borderSplit" Storyboard.TargetProperty="Opacity" From="1" To="0.5" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type ctr:HintTextBox}">
<Setter Property="MinHeight" Value="34"/>
<Setter Property="Padding" Value="10,0"/>
<Setter Property="Foreground" Value="{DynamicResource ToolTextPrimaryBrush}"/>
<Setter Property="CaretBrush" Value="{DynamicResource MainColor}"/>
<Setter Property="SelectionBrush" Value="{DynamicResource MainColor}"/>
<Setter Property="HintForeground" Value="{DynamicResource ToolTextSecondaryBrush}"/>
<Setter Property="HintTextOpacity" Value="1"/>
<Setter Property="HintTextMargin" Value="0"/>
<Setter Property="HintTextHorizontalAlignment" Value="Left"/>
<Setter Property="HintTextVerticalAlignment" Value="Center"/>
<Setter Property="TextAlignment" Value="Left"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ctr:HintTextBox}">
<Grid Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
<!-- 输入内容和占位文本共用同一 Padding;提示文本再使用自己的水平、垂直属性定位。 -->
<ScrollViewer x:Name="PART_ContentHost"
Margin="{TemplateBinding Padding}"
Focusable="False"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
HorizontalScrollBarVisibility="{TemplateBinding HorizontalScrollBarVisibility}"
VerticalScrollBarVisibility="{TemplateBinding VerticalScrollBarVisibility}"/>
<Grid Margin="{TemplateBinding Padding}" IsHitTestVisible="False">
<TextBlock x:Name="hintTextBlock"
Margin="{TemplateBinding HintTextMargin}"
Background="{TemplateBinding HintBackground}"
Foreground="{TemplateBinding HintForeground}"
Text="{TemplateBinding HintText}"
FontSize="{TemplateBinding HintFontSize}"
FontFamily="{TemplateBinding HintFontFamily}"
FontWeight="{TemplateBinding HintFontWeight}"
TextWrapping="{TemplateBinding TextWrapping}"
HorizontalAlignment="{TemplateBinding HintTextHorizontalAlignment}"
VerticalAlignment="{TemplateBinding HintTextVerticalAlignment}"
Opacity="{TemplateBinding HintTextOpacity}"
Visibility="Hidden"/>
</Grid>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="Text" Value="">
<Setter TargetName="hintTextBlock" Property="Visibility" Value="Visible"/>
</Trigger>
<Trigger Property="Text" Value="{x:Null}">
<Setter TargetName="hintTextBlock" Property="Visibility" Value="Visible"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type ctr:TextEditor}">
<Setter Property="MinHeight" Value="34"/>
<Setter Property="Padding" Value="10,0"/>
<Setter Property="Background" Value="{DynamicResource ToolControlBackgroundBrush}"/>
<Setter Property="Foreground" Value="{DynamicResource ToolTextPrimaryBrush}"/>
<Setter Property="CaretBrush" Value="{DynamicResource MainColor}"/>
<Setter Property="SelectionBrush" Value="{DynamicResource MainColor}"/>
<Setter Property="HintForeground" Value="{DynamicResource ToolTextSecondaryBrush}"/>
<Setter Property="HintTextOpacity" Value="1"/>
<Setter Property="HintTextMargin" Value="0"/>
<Setter Property="HintTextHorizontalAlignment" Value="Left"/>
<Setter Property="HintTextVerticalAlignment" Value="Center"/>
<Setter Property="EditorBorderBrush" Value="{DynamicResource ToolControlBorderBrush}"/>
<Setter Property="EditorHoverBorderBrush" Value="{DynamicResource ToolControlHoverBorderBrush}"/>
<Setter Property="EditorFocusedBorderBrush" Value="{DynamicResource MainColor}"/>
<Setter Property="EditorBorderThickness" Value="1"/>
<Setter Property="EditorCornerRadius" Value="10"/>
<Setter Property="IconBrush" Value="{DynamicResource MainColor}"/>
<Setter Property="TextAlignment" Value="Left"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ctr:TextEditor}">
<Border x:Name="editorBorder" Padding="{TemplateBinding Padding}" CornerRadius="{TemplateBinding EditorCornerRadius}" BorderBrush="{TemplateBinding EditorBorderBrush}" BorderThickness="{TemplateBinding EditorBorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Path x:Name="iconPath" Width="{TemplateBinding IconSize}" Height="{TemplateBinding IconSize}" Margin="{TemplateBinding IconMargin}" Data="{TemplateBinding Icon}" Stroke="{TemplateBinding IconBrush}" StrokeThickness="1.6" StrokeStartLineCap="Round" StrokeEndLineCap="Round" Stretch="Uniform" VerticalAlignment="Center"/>
<!-- 背景只由外层 editorBorder 绘制,避免半透明色在文本区域重复叠加。 -->
<ctr:HintTextBox Grid.Column="1" Padding="0" BorderThickness="0"
Background="Transparent" Foreground="{TemplateBinding Foreground}"
FontFamily="{TemplateBinding FontFamily}" FontSize="{TemplateBinding FontSize}" FontWeight="{TemplateBinding FontWeight}"
HintBackground="{TemplateBinding HintBackground}"
Text="{Binding Text, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
HintForeground="{TemplateBinding HintForeground}" HintText="{TemplateBinding HintText}"
HintFontSize="{TemplateBinding HintFontSize}" HintFontFamily="{TemplateBinding HintFontFamily}" HintFontWeight="{TemplateBinding HintFontWeight}"
HintTextHorizontalAlignment="{TemplateBinding HintTextHorizontalAlignment}" HintTextVerticalAlignment="{TemplateBinding HintTextVerticalAlignment}"
HintTextMargin="{TemplateBinding HintTextMargin}" HintTextOpacity="{TemplateBinding HintTextOpacity}"
CaretBrush="{TemplateBinding CaretBrush}" SelectionBrush="{TemplateBinding SelectionBrush}" SelectionTextBrush="{TemplateBinding SelectionTextBrush}"
IsReadOnly="{TemplateBinding IsReadOnly}" IsReadOnlyCaretVisible="{TemplateBinding IsReadOnlyCaretVisible}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
HorizontalScrollBarVisibility="{TemplateBinding HorizontalScrollBarVisibility}" VerticalScrollBarVisibility="{TemplateBinding VerticalScrollBarVisibility}"
AcceptsReturn="{TemplateBinding AcceptsReturn}" AcceptsTab="{TemplateBinding AcceptsTab}"
MaxLength="{TemplateBinding MaxLength}" MinLines="{TemplateBinding MinLines}" MaxLines="{TemplateBinding MaxLines}"
CharacterCasing="{TemplateBinding CharacterCasing}"
IsEnabled="{TemplateBinding IsEnabled}" IsInactiveSelectionHighlightEnabled="{TemplateBinding IsInactiveSelectionHighlightEnabled}"
UndoLimit="{TemplateBinding UndoLimit}" IsUndoEnabled="{TemplateBinding IsUndoEnabled}"
TextWrapping="{TemplateBinding TextWrapping}" TextAlignment="{TemplateBinding TextAlignment}" TextDecorations="{TemplateBinding TextDecorations}"/>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="Icon" Value="{x:Null}">
<Setter TargetName="iconPath" Property="Visibility" Value="Collapsed"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="editorBorder" Property="BorderBrush" Value="{Binding EditorHoverBorderBrush, RelativeSource={RelativeSource TemplatedParent}}"/>
</Trigger>
<Trigger Property="IsKeyboardFocusWithin" Value="True">
<Setter TargetName="editorBorder" Property="BorderBrush" Value="{Binding EditorFocusedBorderBrush, RelativeSource={RelativeSource TemplatedParent}}"/>
<Setter TargetName="editorBorder" Property="BorderThickness" Value="1.5"/>
</Trigger>
<Trigger Property="AcceptsReturn" Value="True">
<Setter Property="VerticalContentAlignment" Value="Top"/>
<Setter Property="HintTextVerticalAlignment" Value="Top"/>
<Setter TargetName="iconPath" Property="VerticalAlignment" Value="Top"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="editorBorder" Property="Opacity" Value="0.5"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type ctr:PasswordEditor}">
<Setter Property="MinHeight" Value="34"/>
<Setter Property="Padding" Value="10,0,4,0"/>
<Setter Property="Background" Value="{DynamicResource ToolControlBackgroundBrush}"/>
<Setter Property="Foreground" Value="{DynamicResource ToolTextPrimaryBrush}"/>
<Setter Property="CaretBrush" Value="{DynamicResource MainColor}"/>
<Setter Property="SelectionBrush" Value="{DynamicResource MainColor}"/>
<Setter Property="HintForeground" Value="{DynamicResource ToolTextSecondaryBrush}"/>
<Setter Property="HintTextOpacity" Value="1"/>
<Setter Property="HintTextMargin" Value="0"/>
<Setter Property="HintTextHorizontalAlignment" Value="Left"/>
<Setter Property="HintTextVerticalAlignment" Value="Center"/>
<Setter Property="EditorBorderBrush" Value="{DynamicResource ToolControlBorderBrush}"/>
<Setter Property="EditorBorderThickness" Value="1"/>
<Setter Property="EditorCornerRadius" Value="10"/>
<Setter Property="TextAlignment" Value="Left"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
</Style>
<Style TargetType="{x:Type ctr:CheckButton}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ctr:CheckButton}">
<Grid x:Name="mainGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="25"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid>
<Border CornerRadius="20" Width="20" Height="20" HorizontalAlignment="Center" VerticalAlignment="Center" Background="Transparent" BorderBrush="{DynamicResource MainColor}" BorderThickness="2"/>
<Image x:Name="checkImage" Source="/XFEToolBox.WpfCore;component/Resources/Image/check.png" Visibility="Hidden"/>
</Grid>
<ContentPresenter Grid.Column="1"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="checkImage" Property="Visibility" Value="Visible"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="mainGrid" Property="Opacity" Value="0.5"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ctr="clr-namespace:XFEToolBox.WpfCore.Controls">
<StreamGeometry x:Key="SearchIconGeometry">M 7,1 A 6,6 0 1 1 7,13 A 6,6 0 1 1 7,1 M 11.25,11.25 L 15,15</StreamGeometry>
<Style TargetType="{x:Type ctr:SwitchButton}">
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="IsTabStop" Value="True"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="Margin" Value="0,10"/>
<Setter Property="RenderTransformOrigin" Value="0.5,0.5"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ToggleButton">
<Grid x:Name="root" SnapsToDevicePixels="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid Width="40" Height="20">
<Border x:Name="track" Width="40" Height="20" CornerRadius="10" Background="#F3F3F3" BorderBrush="#767676" BorderThickness="1"/>
<Border x:Name="thumb" Width="12" Height="12" Background="#5F5F5F" CornerRadius="6" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="4,0,0,0" RenderTransformOrigin="0.5,0.5">
<Border.RenderTransform>
<TransformGroup>
<ScaleTransform x:Name="thumbScale" ScaleX="1" ScaleY="1"/>
<TranslateTransform x:Name="thumbTransform" X="0"/>
</TransformGroup>
</Border.RenderTransform>
</Border>
</Grid>
<ContentPresenter x:Name="content" Grid.Column="1" Margin="10,0,0,0" VerticalAlignment="Center"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="track" Property="Background" Value="{DynamicResource MainColor}"/>
<Setter TargetName="track" Property="BorderBrush" Value="{DynamicResource MainColor}"/>
<Setter TargetName="thumb" Property="Background" Value="White"/>
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="thumbTransform" Storyboard.TargetProperty="X" To="20" Duration="0:0:0.18">
<DoubleAnimation.EasingFunction><CubicEase EasingMode="EaseOut"/></DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="thumbTransform" Storyboard.TargetProperty="X" To="0" Duration="0:0:0.18">
<DoubleAnimation.EasingFunction><CubicEase EasingMode="EaseOut"/></DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
</Trigger>
<EventTrigger RoutedEvent="MouseEnter" SourceName="track">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="thumbScale" Storyboard.TargetProperty="ScaleX" To="1.18" Duration="0:0:0.16">
<DoubleAnimation.EasingFunction><CubicEase EasingMode="EaseOut"/></DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="thumbScale" Storyboard.TargetProperty="ScaleY" To="1.18" Duration="0:0:0.16">
<DoubleAnimation.EasingFunction><CubicEase EasingMode="EaseOut"/></DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave" SourceName="track">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="thumbScale" Storyboard.TargetProperty="ScaleX" To="1" Duration="0:0:0.16">
<DoubleAnimation.EasingFunction><CubicEase EasingMode="EaseOut"/></DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="thumbScale" Storyboard.TargetProperty="ScaleY" To="1" Duration="0:0:0.16">
<DoubleAnimation.EasingFunction><CubicEase EasingMode="EaseOut"/></DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<Trigger Property="IsPressed" Value="True">
<Setter TargetName="thumb" Property="Width" Value="14"/>
<Setter TargetName="thumb" Property="Height" Value="14"/>
<Setter TargetName="thumb" Property="CornerRadius" Value="7"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="root" Property="Opacity" Value="0.45"/>
<Setter Property="Cursor" Value="Arrow"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type ctr:TabUnderLineButton}">
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="IsTabStop" Value="False"/>
<Setter Property="RenderTransformOrigin" Value="0.5,0.5"/>
<Setter Property="Margin" Value="10,0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="4"/>
</Grid.RowDefinitions>
<ContentPresenter x:Name="content" Opacity="0.5"/>
<Border x:Name="tagBorder" Background="{DynamicResource MainColor}" Grid.Row="1" CornerRadius="3" Height="4" Width="0"/>
<Border x:Name="tipBorder" Background="{DynamicResource MainColor}" Grid.Row="1" CornerRadius="20" Width="4" Height="4" Opacity="0"/>
</Grid>
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="tipBorder" Storyboard.TargetProperty="Opacity" From="0" To="0.8" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="tipBorder" Storyboard.TargetProperty="Opacity" From="0.8" To="0" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="Checked">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="tagBorder" Storyboard.TargetProperty="Width" From="0" To="20" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="content" Storyboard.TargetProperty="Opacity" From="0.5" To="1" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="Unchecked">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="tagBorder" Storyboard.TargetProperty="Width" From="20" To="0" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="content" Storyboard.TargetProperty="Opacity" From="1" To="0.5" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type ctr:NavigationButton}">
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="IsTabStop" Value="False"/>
<Setter Property="RenderTransformOrigin" Value="0.5,0.5"/>
<Setter Property="Margin" Value="10,0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Border x:Name="outBorder" Height="50" Background="{DynamicResource BackgroundColor}">
<Border x:Name="mainBorder" CornerRadius="15" Height="40" HorizontalAlignment="Stretch" Background="{DynamicResource BackgroundColor}" BorderBrush="#9898e7" BorderThickness="1.5" RenderTransformOrigin="0.5,0.5">
<Border.RenderTransform>
<ScaleTransform x:Name="mainBorderScale" ScaleX="1" ScaleY="1"/>
</Border.RenderTransform>
<Border.Effect>
<DropShadowEffect x:Name="mainBorderShadow" Color="#9898e7" BlurRadius="8" ShadowDepth="3" Direction="-45" Opacity="0"/>
</Border.Effect>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40"/>
<ColumnDefinition Width="10"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border x:Name="borderSplit" Grid.Column="1" Background="{DynamicResource MainColor}" CornerRadius="2" Width="3" Opacity="0.5" HorizontalAlignment="Left" VerticalAlignment="Stretch" Margin="0,5"/>
<ContentPresenter Grid.ColumnSpan="3"/>
</Grid>
</Border>
</Border>
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="mainBorderScale" Storyboard.TargetProperty="ScaleX" From="1" To="1.1" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="mainBorderScale" Storyboard.TargetProperty="ScaleY" From="1" To="1.1" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="outBorder" Storyboard.TargetProperty="Height" From="50" To="70" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="mainBorderScale" Storyboard.TargetProperty="ScaleX" From="1.1" To="1" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="mainBorderScale" Storyboard.TargetProperty="ScaleY" From="1.1" To="1" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="outBorder" Storyboard.TargetProperty="Height" From="70" To="50" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="Checked">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="mainBorderShadow" Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="borderSplit" Storyboard.TargetProperty="Opacity" From="0.5" To="1" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="Unchecked">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="mainBorderShadow" Storyboard.TargetProperty="Opacity" From="1" To="0" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="borderSplit" Storyboard.TargetProperty="Opacity" From="1" To="0.5" Duration="0:0:0.3">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type ctr:HintTextBox}">
<Setter Property="MinHeight" Value="34"/>
<Setter Property="Padding" Value="10,0"/>
<Setter Property="Foreground" Value="{DynamicResource ToolTextPrimaryBrush}"/>
<Setter Property="CaretBrush" Value="{DynamicResource MainColor}"/>
<Setter Property="SelectionBrush" Value="{DynamicResource MainColor}"/>
<Setter Property="HintForeground" Value="{DynamicResource ToolTextSecondaryBrush}"/>
<Setter Property="HintTextOpacity" Value="1"/>
<Setter Property="HintTextMargin" Value="0"/>
<Setter Property="HintTextHorizontalAlignment" Value="Left"/>
<Setter Property="HintTextVerticalAlignment" Value="Center"/>
<Setter Property="TextAlignment" Value="Left"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ctr:HintTextBox}">
<Grid Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
<!-- 输入内容和占位文本共用同一 Padding;提示文本再使用自己的水平、垂直属性定位。 -->
<ScrollViewer x:Name="PART_ContentHost"
Margin="{TemplateBinding Padding}"
Focusable="False"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
HorizontalScrollBarVisibility="{TemplateBinding HorizontalScrollBarVisibility}"
VerticalScrollBarVisibility="{TemplateBinding VerticalScrollBarVisibility}"/>
<Grid Margin="{TemplateBinding Padding}" IsHitTestVisible="False">
<TextBlock x:Name="hintTextBlock"
Margin="{TemplateBinding HintTextMargin}"
Background="{TemplateBinding HintBackground}"
Foreground="{TemplateBinding HintForeground}"
Text="{TemplateBinding HintText}"
FontSize="{TemplateBinding HintFontSize}"
FontFamily="{TemplateBinding HintFontFamily}"
FontWeight="{TemplateBinding HintFontWeight}"
TextWrapping="{TemplateBinding TextWrapping}"
HorizontalAlignment="{TemplateBinding HintTextHorizontalAlignment}"
VerticalAlignment="{TemplateBinding HintTextVerticalAlignment}"
Opacity="{TemplateBinding HintTextOpacity}"
Visibility="Hidden"/>
</Grid>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="Text" Value="">
<Setter TargetName="hintTextBlock" Property="Visibility" Value="Visible"/>
</Trigger>
<Trigger Property="Text" Value="{x:Null}">
<Setter TargetName="hintTextBlock" Property="Visibility" Value="Visible"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type ctr:TextEditor}">
<Setter Property="MinHeight" Value="34"/>
<Setter Property="Padding" Value="10,0"/>
<Setter Property="Background" Value="{DynamicResource ToolControlBackgroundBrush}"/>
<Setter Property="Foreground" Value="{DynamicResource ToolTextPrimaryBrush}"/>
<Setter Property="CaretBrush" Value="{DynamicResource MainColor}"/>
<Setter Property="SelectionBrush" Value="{DynamicResource MainColor}"/>
<Setter Property="HintForeground" Value="{DynamicResource ToolTextSecondaryBrush}"/>
<Setter Property="HintTextOpacity" Value="1"/>
<Setter Property="HintTextMargin" Value="0"/>
<Setter Property="HintTextHorizontalAlignment" Value="Left"/>
<Setter Property="HintTextVerticalAlignment" Value="Center"/>
<Setter Property="EditorBorderBrush" Value="{DynamicResource ToolControlBorderBrush}"/>
<Setter Property="EditorHoverBorderBrush" Value="{DynamicResource ToolControlHoverBorderBrush}"/>
<Setter Property="EditorFocusedBorderBrush" Value="{DynamicResource MainColor}"/>
<Setter Property="EditorBorderThickness" Value="1"/>
<Setter Property="EditorCornerRadius" Value="10"/>
<Setter Property="IconBrush" Value="{DynamicResource MainColor}"/>
<Setter Property="TextAlignment" Value="Left"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ctr:TextEditor}">
<Border x:Name="editorBorder" Padding="{TemplateBinding Padding}" CornerRadius="{TemplateBinding EditorCornerRadius}" BorderBrush="{TemplateBinding EditorBorderBrush}" BorderThickness="{TemplateBinding EditorBorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Path x:Name="iconPath" Width="{TemplateBinding IconSize}" Height="{TemplateBinding IconSize}" Margin="{TemplateBinding IconMargin}" Data="{TemplateBinding Icon}" Stroke="{TemplateBinding IconBrush}" StrokeThickness="1.6" StrokeStartLineCap="Round" StrokeEndLineCap="Round" Stretch="Uniform" VerticalAlignment="Center"/>
<!-- 背景只由外层 editorBorder 绘制,避免半透明色在文本区域重复叠加。 -->
<ctr:HintTextBox Grid.Column="1" Padding="0" BorderThickness="0"
Background="Transparent" Foreground="{TemplateBinding Foreground}"
FontFamily="{TemplateBinding FontFamily}" FontSize="{TemplateBinding FontSize}" FontWeight="{TemplateBinding FontWeight}"
HintBackground="{TemplateBinding HintBackground}"
Text="{Binding Text, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
HintForeground="{TemplateBinding HintForeground}" HintText="{TemplateBinding HintText}"
HintFontSize="{TemplateBinding HintFontSize}" HintFontFamily="{TemplateBinding HintFontFamily}" HintFontWeight="{TemplateBinding HintFontWeight}"
HintTextHorizontalAlignment="{TemplateBinding HintTextHorizontalAlignment}" HintTextVerticalAlignment="{TemplateBinding HintTextVerticalAlignment}"
HintTextMargin="{TemplateBinding HintTextMargin}" HintTextOpacity="{TemplateBinding HintTextOpacity}"
CaretBrush="{TemplateBinding CaretBrush}" SelectionBrush="{TemplateBinding SelectionBrush}" SelectionTextBrush="{TemplateBinding SelectionTextBrush}"
IsReadOnly="{TemplateBinding IsReadOnly}" IsReadOnlyCaretVisible="{TemplateBinding IsReadOnlyCaretVisible}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
HorizontalScrollBarVisibility="{TemplateBinding HorizontalScrollBarVisibility}" VerticalScrollBarVisibility="{TemplateBinding VerticalScrollBarVisibility}"
AcceptsReturn="{TemplateBinding AcceptsReturn}" AcceptsTab="{TemplateBinding AcceptsTab}"
MaxLength="{TemplateBinding MaxLength}" MinLines="{TemplateBinding MinLines}" MaxLines="{TemplateBinding MaxLines}"
CharacterCasing="{TemplateBinding CharacterCasing}"
IsEnabled="{TemplateBinding IsEnabled}" IsInactiveSelectionHighlightEnabled="{TemplateBinding IsInactiveSelectionHighlightEnabled}"
UndoLimit="{TemplateBinding UndoLimit}" IsUndoEnabled="{TemplateBinding IsUndoEnabled}"
TextWrapping="{TemplateBinding TextWrapping}" TextAlignment="{TemplateBinding TextAlignment}" TextDecorations="{TemplateBinding TextDecorations}"/>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="Icon" Value="{x:Null}">
<Setter TargetName="iconPath" Property="Visibility" Value="Collapsed"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="editorBorder" Property="BorderBrush" Value="{Binding EditorHoverBorderBrush, RelativeSource={RelativeSource TemplatedParent}}"/>
</Trigger>
<Trigger Property="IsKeyboardFocusWithin" Value="True">
<Setter TargetName="editorBorder" Property="BorderBrush" Value="{Binding EditorFocusedBorderBrush, RelativeSource={RelativeSource TemplatedParent}}"/>
<Setter TargetName="editorBorder" Property="BorderThickness" Value="1.5"/>
</Trigger>
<Trigger Property="AcceptsReturn" Value="True">
<Setter Property="VerticalContentAlignment" Value="Top"/>
<Setter Property="HintTextVerticalAlignment" Value="Top"/>
<Setter TargetName="iconPath" Property="VerticalAlignment" Value="Top"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="editorBorder" Property="Opacity" Value="0.5"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type ctr:PasswordEditor}">
<Setter Property="MinHeight" Value="34"/>
<Setter Property="Padding" Value="10,0,4,0"/>
<Setter Property="Background" Value="{DynamicResource ToolControlBackgroundBrush}"/>
<Setter Property="Foreground" Value="{DynamicResource ToolTextPrimaryBrush}"/>
<Setter Property="CaretBrush" Value="{DynamicResource MainColor}"/>
<Setter Property="SelectionBrush" Value="{DynamicResource MainColor}"/>
<Setter Property="HintForeground" Value="{DynamicResource ToolTextSecondaryBrush}"/>
<Setter Property="HintTextOpacity" Value="1"/>
<Setter Property="HintTextMargin" Value="0"/>
<Setter Property="HintTextHorizontalAlignment" Value="Left"/>
<Setter Property="HintTextVerticalAlignment" Value="Center"/>
<Setter Property="EditorBorderBrush" Value="{DynamicResource ToolControlBorderBrush}"/>
<Setter Property="EditorBorderThickness" Value="1"/>
<Setter Property="EditorCornerRadius" Value="10"/>
<Setter Property="TextAlignment" Value="Left"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
</Style>
<Style TargetType="{x:Type ctr:CheckButton}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ctr:CheckButton}">
<Grid x:Name="mainGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="25"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid>
<Border CornerRadius="20" Width="20" Height="20" HorizontalAlignment="Center" VerticalAlignment="Center" Background="Transparent" BorderBrush="{DynamicResource MainColor}" BorderThickness="2"/>
<Image x:Name="checkImage" Source="/XFEToolBox.WpfCore;component/Resources/Image/check.png" Visibility="Hidden"/>
</Grid>
<ContentPresenter Grid.Column="1"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="checkImage" Property="Visibility" Value="Visible"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="mainGrid" Property="Opacity" Value="0.5"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>