<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:control="clr-namespace:ComeCapture.Controls" xmlns:converter="clr-namespace:ComeCapture.Converters" xmlns:sys="clr-namespace:System;assembly=mscorlib"> <SolidColorBrush x:Key="BaseColor" Color="#2ecc71" /> <SolidColorBrush x:Key="ToolButtonBorder" Color="#9EA0A1" /> <SolidColorBrush x:Key="ToolButtonHoverBackground" Color="#DEE3E9" /> <SolidColorBrush x:Key="ToolColor" Color="#478cde" /> <SolidColorBrush x:Key="StackPanelColor" Color="#EAEEF5" /> <sys:Double x:Key="Small">2</sys:Double> <sys:Double x:Key="Medium">5</sys:Double> <sys:Double x:Key="Large">8</sys:Double> <!--<converter:ToolConverter x:Key="ToolConverter" /> <converter:SizeConverter x:Key="SizeConverter" /> <converter:ColorConverter x:Key="ColorConverter" />--> <converter:ToolConverter x:Key="ToolConverter"/> <converter:SizeConverter x:Key="SizeConverter"/> <converter:ColorConverter x:Key="ColorConverter"/> <!-- 移动滑块 --> <Style x:Key="MoveThumb" TargetType="{x:Type control:ZoomThumb}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type control:ZoomThumb}"> <Rectangle Fill="Transparent" SnapsToDevicePixels="True" Stroke="LimeGreen" StrokeThickness="1" /> </ControlTemplate> </Setter.Value> </Setter> </Style> <!-- 拉伸滑块 --> <Style x:Key="ZoomThumb" TargetType="{x:Type control:ZoomThumb}"> <Setter Property="Visibility" Value="{Binding RelativeSource={RelativeSource AncestorType={x:Type control:MainImage}}, Path=ZoomThumbVisibility}" /> <Setter Property="Margin" Value="-3" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type control:ZoomThumb}"> <Border Width="6" Height="6" Background="{StaticResource BaseColor}" /> </ControlTemplate> </Setter.Value> </Setter> </Style> <!-- 截图区域 --> <Style TargetType="{x:Type control:MainImage}"> <Setter Property="Visibility" Value="Collapsed" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type control:MainImage}"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="*" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="*" /> <RowDefinition Height="*" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <control:ZoomThumb Grid.RowSpan="3" Grid.ColumnSpan="3" Cursor="{Binding RelativeSource={RelativeSource AncestorType=control:MainImage}, Path=MoveCursor}" Direction="Move" Style="{StaticResource MoveThumb}" /> <control:ZoomThumb HorizontalAlignment="Left" VerticalAlignment="Top" Cursor="SizeNWSE" Direction="LeftTop" Style="{StaticResource ZoomThumb}" /> <control:ZoomThumb Grid.Row="1" HorizontalAlignment="Left" Cursor="SizeWE" Direction="LeftMiddle" Style="{StaticResource ZoomThumb}" /> <control:ZoomThumb Grid.Row="2" HorizontalAlignment="Left" VerticalAlignment="Bottom" Cursor="SizeNESW" Direction="LeftBottom" Style="{StaticResource ZoomThumb}" /> <control:ZoomThumb Grid.Column="1" VerticalAlignment="Top" Cursor="SizeNS" Direction="MiddleTop" Style="{StaticResource ZoomThumb}" /> <control:ZoomThumb Grid.Row="2" Grid.Column="1" VerticalAlignment="Bottom" Cursor="SizeNS" Direction="MiddleBottom" Style="{StaticResource ZoomThumb}" /> <control:ZoomThumb Grid.Column="2" HorizontalAlignment="Right" VerticalAlignment="Top" Cursor="SizeNESW" Direction="RightTop" Style="{StaticResource ZoomThumb}" /> <control:ZoomThumb Grid.Row="1" Grid.Column="2" HorizontalAlignment="Right" Cursor="SizeWE" Direction="RightMiddle" Style="{StaticResource ZoomThumb}" /> <control:ZoomThumb Grid.Row="2" Grid.Column="2" HorizontalAlignment="Right" VerticalAlignment="Bottom" Cursor="SizeNWSE" Direction="RightBottom" Style="{StaticResource ZoomThumb}" /> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> <!-- 按钮 --> <Style x:Key="BaseButton" TargetType="{x:Type ButtonBase}"> <Setter Property="BorderBrush" Value="Transparent" /> <Setter Property="Background" Value="Transparent" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type control:ToolButton}"> <Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1" CornerRadius="1"> <ContentControl Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" /> </Border> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="BorderBrush" Value="{StaticResource ToolButtonBorder}" /> <Setter Property="Background" Value="{StaticResource ToolButtonHoverBackground}" /> </Trigger> <Trigger Property="IsChecked" Value="True"> <Setter Property="BorderBrush" Value="{StaticResource ToolButtonBorder}" /> <Setter Property="Background" Value="{StaticResource ToolButtonHoverBackground}" /> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> <!-- 工具按钮 --> <Style x:Key="ToolButton" BasedOn="{StaticResource BaseButton}" TargetType="{x:Type control:ToolButton}"> <Setter Property="Margin" Value="3" /> <Setter Property="Width" Value="24" /> <Setter Property="Height" Value="19" /> <Setter Property="IsImageEditBar" Value="True" /> <Setter Property="GroupName" Value="Tools" /> </Style> <!-- 尺寸按钮 --> <Style x:Key="SizeButton" BasedOn="{StaticResource BaseButton}" TargetType="{x:Type control:ToolButton}"> <Setter Property="Margin" Value="1,5" /> <Setter Property="Width" Value="24" /> <Setter Property="Height" Value="25" /> </Style> <!-- 颜色按钮 --> <Style x:Key="ColorButton" TargetType="{x:Type control:ToolButton}"> <Setter Property="Width" Value="16" /> <Setter Property="Height" Value="16" /> <Setter Property="BorderBrush" Value="Transparent" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type control:ToolButton}"> <Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1" CornerRadius="1"> <ContentControl HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" /> </Border> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="BorderBrush" Value="{StaticResource ToolButtonBorder}" /> <Setter Property="Background" Value="White" /> </Trigger> <Trigger Property="IsChecked" Value="True"> <Setter Property="BorderBrush" Value="{StaticResource ToolButtonBorder}" /> <Setter Property="Background" Value="White" /> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> <!-- 工具栏 --> <Style TargetType="{x:Type control:ImageEditBar}"> <Setter Property="Width" Value="270" /> <Setter Property="Height" Value="25" /> <Setter Property="Visibility" Value="Collapsed" /> <Setter Property="Background" Value="{StaticResource StackPanelColor}" /> <Setter Property="Cursor" Value="Arrow" /> <Setter Property="Canvas.Left" Value="{Binding RelativeSource={RelativeSource Self}, Path=CanvasLeft}" /> <Setter Property="Canvas.Top" Value="{Binding RelativeSource={RelativeSource Self}, Path=CanvasTop}" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type control:ImageEditBar}"> <StackPanel Width="60" Height="{TemplateBinding Height}" HorizontalAlignment="Right" Background="{TemplateBinding Background}" Orientation="Horizontal"> <!--<control:ToolButton Tool="Rectangle" ToolTip="矩形工具" Style="{StaticResource ToolButton}"> <Rectangle Width="17" Height="14" Stroke="{StaticResource ToolColor}" StrokeThickness="2" Fill="White" /> </control:ToolButton> <control:ToolButton Tool="Ellipse" ToolTip="椭圆工具" Style="{StaticResource ToolButton}"> <Ellipse Width="17" Height="14" Stroke="{StaticResource ToolColor}" StrokeThickness="2" Fill="White" /> </control:ToolButton> <control:ToolButton Tool="Arrow" ToolTip="箭头工具" Style="{StaticResource ToolButton}"> <Image Width="18" Height="15" Source="/ComeCapture;component/Resources/箭头.png" /> </control:ToolButton> <control:ToolButton Tool="Line" ToolTip="画刷工具" Style="{StaticResource ToolButton}"> <Image Width="18" Height="15" Source="/ComeCapture;component/Resources/笔刷.png" /> </control:ToolButton> <control:ToolButton Tool="Text" ToolTip="文字工具" Style="{StaticResource ToolButton}"> <TextBlock Text="A" FontSize="19" TextAlignment="Center" Margin="0,-4,0,0" FontWeight="Bold" Foreground="{StaticResource ToolColor}" /> </control:ToolButton> <control:ToolButton Tool="Revoke" ToolTip="撤销编辑" Style="{StaticResource ToolButton}"> <Image Margin="0,-1,0,1" Width="18" Height="15" Source="/ComeCapture;component/Resources/后退.png" /> </control:ToolButton> <control:ToolButton Tool="Save" ToolTip="保存" Style="{StaticResource ToolButton}"> <Image Margin="0,1,0,-1" Width="18" Height="15" Source="/ComeCapture;component/Resources/保存.png" /> </control:ToolButton>--> <control:ToolButton Cursor="Hand" Style="{StaticResource ToolButton}" Tool="Cancel" ToolTip="退出截图"> <Grid Width="17" Height="14"> <Path Data="M 4,2 L 15,13" Stroke="Red" StrokeThickness="4" /> <Path Data="M 4,13 L 15,2" Stroke="Red" StrokeThickness="4" /> </Grid> </control:ToolButton> <control:ToolButton Cursor="Hand" Style="{StaticResource ToolButton}" Tool="OK" ToolTip="完成截图"> <Grid Width="17" Height="14"> <Path Data="M 2,7 L 7,12 L 16,2" Stroke="Green" StrokeThickness="4" /> </Grid> </control:ToolButton> </StackPanel> </ControlTemplate> </Setter.Value> </Setter> </Style> <!-- 尺寸颜色栏基础样式 --> <Style x:Key="BaseSizeColor" TargetType="{x:Type StackPanel}"> <Setter Property="Width" Value="270" /> <Setter Property="Height" Value="35" /> <Setter Property="Orientation" Value="Horizontal" /> <Setter Property="Visibility" Value="Collapsed" /> <Setter Property="Background" Value="{StaticResource StackPanelColor}" /> </Style> <!-- 颜色板Item --> <Style x:Key="ColorBoxItem" TargetType="{x:Type ListBoxItem}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ListBoxItem}"> <ContentControl Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" /> </ControlTemplate> </Setter.Value> </Setter> </Style> <!-- 颜色板 --> <Style x:Key="ColorBarStyle" TargetType="{x:Type ListBox}"> <Setter Property="BorderThickness" Value="0" /> <Setter Property="Background" Value="Transparent" /> <Setter Property="ItemsSource" Value="{x:Static control:SizeColorBar.ColorBars}" /> <Setter Property="ItemContainerStyle" Value="{StaticResource ColorBoxItem}" /> <Setter Property="ItemsPanel"> <Setter.Value> <ItemsPanelTemplate> <UniformGrid Height="32" Columns="9" Rows="2" /> </ItemsPanelTemplate> </Setter.Value> </Setter> </Style> <!-- 尺寸颜色栏 --> <Style TargetType="{x:Type control:SizeColorBar}"> <Setter Property="Canvas.Left" Value="{Binding RelativeSource={RelativeSource Self}, Path=CanvasLeft}" /> <Setter Property="Canvas.Top" Value="{Binding RelativeSource={RelativeSource Self}, Path=CanvasTop}" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type control:SizeColorBar}"> <Grid> <control:RectangleTool x:Name="PART_RectangleTool" Style="{StaticResource BaseSizeColor}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=control:SizeColorBar}, Path=Selected, Converter={StaticResource ToolConverter}, ConverterParameter=Rectangle}"> <control:ToolButton GroupName="RectangleTool" IsChecked="{Binding ElementName=PART_RectangleTool, Path=LineThickness, Converter={StaticResource SizeConverter}, ConverterParameter={StaticResource Small}}" Style="{StaticResource SizeButton}"> <Ellipse Width="{StaticResource Small}" Height="{StaticResource Small}" Fill="{StaticResource ToolColor}" /> </control:ToolButton> <control:ToolButton GroupName="RectangleTool" IsChecked="{Binding ElementName=PART_RectangleTool, Path=LineThickness, Converter={StaticResource SizeConverter}, ConverterParameter={StaticResource Medium}}" Style="{StaticResource SizeButton}"> <Ellipse Width="{StaticResource Medium}" Height="{StaticResource Medium}" Fill="{StaticResource ToolColor}" /> </control:ToolButton> <control:ToolButton GroupName="RectangleTool" IsChecked="{Binding ElementName=PART_RectangleTool, Path=LineThickness, Converter={StaticResource SizeConverter}, ConverterParameter={StaticResource Large}}" Style="{StaticResource SizeButton}"> <Ellipse Width="{StaticResource Large}" Height="{StaticResource Large}" Fill="{StaticResource ToolColor}" /> </control:ToolButton> <Grid Width="29" Height="29" Margin="5,0,5,0" Background="White"> <Border BorderBrush="{StaticResource ToolButtonBorder}" BorderThickness="1"> <Canvas Width="25" Height="25" Background="{Binding ElementName=PART_RectangleTool, Path=LineBrush}" /> </Border> </Grid> <ListBox Style="{StaticResource ColorBarStyle}"> <ListBox.ItemTemplate> <DataTemplate> <control:ToolButton GroupName="RectangleColor" LineColor="{Binding ., Converter={StaticResource ColorConverter}}" Style="{StaticResource ColorButton}"> <Rectangle Width="12" Height="12" Fill="{Binding}" Stroke="{StaticResource ToolButtonBorder}" StrokeThickness="1" /> </control:ToolButton> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </control:RectangleTool> <control:EllipseTool x:Name="PART_EllipseTool" Style="{StaticResource BaseSizeColor}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=control:SizeColorBar}, Path=Selected, Converter={StaticResource ToolConverter}, ConverterParameter=Ellipse}"> <control:ToolButton GroupName="EllipseTool" IsChecked="{Binding ElementName=PART_EllipseTool, Path=LineThickness, Converter={StaticResource SizeConverter}, ConverterParameter={StaticResource Small}}" Style="{StaticResource SizeButton}"> <Ellipse Width="{StaticResource Small}" Height="{StaticResource Small}" Fill="{StaticResource ToolColor}" /> </control:ToolButton> <control:ToolButton GroupName="EllipseTool" IsChecked="{Binding ElementName=PART_EllipseTool, Path=LineThickness, Converter={StaticResource SizeConverter}, ConverterParameter={StaticResource Medium}}" Style="{StaticResource SizeButton}"> <Ellipse Width="{StaticResource Medium}" Height="{StaticResource Medium}" Fill="{StaticResource ToolColor}" /> </control:ToolButton> <control:ToolButton GroupName="EllipseTool" IsChecked="{Binding ElementName=PART_EllipseTool, Path=LineThickness, Converter={StaticResource SizeConverter}, ConverterParameter={StaticResource Large}}" Style="{StaticResource SizeButton}"> <Ellipse Width="{StaticResource Large}" Height="{StaticResource Large}" Fill="{StaticResource ToolColor}" /> </control:ToolButton> <Grid Width="29" Height="29" Margin="5,0" Background="White"> <Border BorderBrush="{StaticResource ToolButtonBorder}" BorderThickness="1"> <Canvas Width="25" Height="25" Background="{Binding ElementName=PART_EllipseTool, Path=LineBrush}" /> </Border> </Grid> <ListBox Style="{StaticResource ColorBarStyle}"> <ListBox.ItemTemplate> <DataTemplate> <control:ToolButton GroupName="EllipseColor" LineColor="{Binding ., Converter={StaticResource ColorConverter}}" Style="{StaticResource ColorButton}"> <Rectangle Width="12" Height="12" Fill="{Binding}" Stroke="{StaticResource ToolButtonBorder}" StrokeThickness="1" /> </control:ToolButton> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </control:EllipseTool> <control:ArrowTool x:Name="PART_ArrowTool" Style="{StaticResource BaseSizeColor}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=control:SizeColorBar}, Path=Selected, Converter={StaticResource ToolConverter}, ConverterParameter=Arrow}"> <control:ToolButton GroupName="ArrowTool" IsChecked="{Binding ElementName=PART_ArrowTool, Path=LineThickness, Converter={StaticResource SizeConverter}, ConverterParameter={StaticResource Small}}" Style="{StaticResource SizeButton}"> <Ellipse Width="{StaticResource Small}" Height="{StaticResource Small}" Fill="{StaticResource ToolColor}" /> </control:ToolButton> <control:ToolButton GroupName="ArrowTool" IsChecked="{Binding ElementName=PART_ArrowTool, Path=LineThickness, Converter={StaticResource SizeConverter}, ConverterParameter={StaticResource Medium}}" Style="{StaticResource SizeButton}"> <Ellipse Width="{StaticResource Medium}" Height="{StaticResource Medium}" Fill="{StaticResource ToolColor}" /> </control:ToolButton> <control:ToolButton GroupName="ArrowTool" IsChecked="{Binding ElementName=PART_ArrowTool, Path=LineThickness, Converter={StaticResource SizeConverter}, ConverterParameter={StaticResource Large}}" Style="{StaticResource SizeButton}"> <Ellipse Width="{StaticResource Large}" Height="{StaticResource Large}" Fill="{StaticResource ToolColor}" /> </control:ToolButton> <Grid Width="29" Height="29" Margin="5,0" Background="White"> <Border BorderBrush="{StaticResource ToolButtonBorder}" BorderThickness="1"> <Canvas Width="25" Height="25" Background="{Binding ElementName=PART_ArrowTool, Path=LineBrush}" /> </Border> </Grid> <ListBox Style="{StaticResource ColorBarStyle}"> <ListBox.ItemTemplate> <DataTemplate> <control:ToolButton GroupName="ArrowColor" LineColor="{Binding ., Converter={StaticResource ColorConverter}}" Style="{StaticResource ColorButton}"> <Rectangle Width="12" Height="12" Fill="{Binding}" Stroke="{StaticResource ToolButtonBorder}" StrokeThickness="1" /> </control:ToolButton> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </control:ArrowTool> <control:LineTool x:Name="PART_LineTool" Style="{StaticResource BaseSizeColor}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=control:SizeColorBar}, Path=Selected, Converter={StaticResource ToolConverter}, ConverterParameter=Line}"> <control:ToolButton GroupName="LineTool" IsChecked="{Binding ElementName=PART_LineTool, Path=LineThickness, Converter={StaticResource SizeConverter}, ConverterParameter={StaticResource Small}}" Style="{StaticResource SizeButton}"> <Ellipse Width="{StaticResource Small}" Height="{StaticResource Small}" Fill="{StaticResource ToolColor}" /> </control:ToolButton> <control:ToolButton GroupName="LineTool" IsChecked="{Binding ElementName=PART_LineTool, Path=LineThickness, Converter={StaticResource SizeConverter}, ConverterParameter={StaticResource Medium}}" Style="{StaticResource SizeButton}"> <Ellipse Width="{StaticResource Medium}" Height="{StaticResource Medium}" Fill="{StaticResource ToolColor}" /> </control:ToolButton> <control:ToolButton GroupName="LineTool" IsChecked="{Binding ElementName=PART_LineTool, Path=LineThickness, Converter={StaticResource SizeConverter}, ConverterParameter={StaticResource Large}}" Style="{StaticResource SizeButton}"> <Ellipse Width="{StaticResource Large}" Height="{StaticResource Large}" Fill="{StaticResource ToolColor}" /> </control:ToolButton> <Grid Width="29" Height="29" Margin="5,0" Background="White"> <Border BorderBrush="{StaticResource ToolButtonBorder}" BorderThickness="1"> <Canvas Width="25" Height="25" Background="{Binding ElementName=PART_LineTool, Path=LineBrush}" /> </Border> </Grid> <ListBox Style="{StaticResource ColorBarStyle}"> <ListBox.ItemTemplate> <DataTemplate> <control:ToolButton GroupName="LineColor" LineColor="{Binding ., Converter={StaticResource ColorConverter}}" Style="{StaticResource ColorButton}"> <Rectangle Width="12" Height="12" Fill="{Binding}" Stroke="{StaticResource ToolButtonBorder}" StrokeThickness="1" /> </control:ToolButton> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </control:LineTool> <control:TextTool x:Name="PART_TextTool" Style="{StaticResource BaseSizeColor}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=control:SizeColorBar}, Path=Selected, Converter={StaticResource ToolConverter}, ConverterParameter=Text}"> <TextBlock Width="24" Height="30" Margin="3,2" FontSize="23" FontWeight="Bold" Foreground="{StaticResource ToolColor}" Text="A" TextAlignment="Center" /> <ComboBox Width="42" Height="21" Margin="0,7,6,7" DisplayMemberPath="Key" ItemsSource="{x:Static control:TextTool.FontSizes}" SelectedItem="12" SelectedValue="{Binding ElementName=PART_TextTool, Path=FontSize}" SelectedValuePath="Key" Style="{x:Null}" /> <Grid Width="29" Height="29" Margin="5,0" Background="White"> <Border BorderBrush="{StaticResource ToolButtonBorder}" BorderThickness="1"> <Canvas Width="25" Height="25" Background="{Binding ElementName=PART_TextTool, Path=LineBrush}" /> </Border> </Grid> <ListBox Style="{StaticResource ColorBarStyle}"> <ListBox.ItemTemplate> <DataTemplate> <control:ToolButton GroupName="TextColor" LineColor="{Binding ., Converter={StaticResource ColorConverter}}" Style="{StaticResource ColorButton}"> <Rectangle Width="12" Height="12" Fill="{Binding}" Stroke="{StaticResource ToolButtonBorder}" StrokeThickness="1" /> </control:ToolButton> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </control:TextTool> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> <!-- 文字输入框 --> <Style TargetType="{x:Type control:TextBoxControl}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type control:TextBoxControl}"> <Grid FocusManager.FocusedElement="{Binding ElementName=PART_TextBox}"> <Border Width="{Binding ElementName=PART_TextBox, Path=Width}" Height="{Binding ElementName=PART_TextBox, Path=Height}" BorderThickness="3"> <Border.BorderBrush> <LinearGradientBrush MappingMode="Absolute" SpreadMethod="Repeat" StartPoint="0,5" EndPoint="5,0"> <LinearGradientBrush.GradientStops> <GradientStop Offset="0" Color="{Binding RelativeSource={RelativeSource AncestorType=control:TextBoxControl}, Path=BorderColor}" /> <GradientStop Offset="0.2" Color="{Binding RelativeSource={RelativeSource AncestorType=control:TextBoxControl}, Path=BorderColor}" /> <GradientStop Offset="0.4" Color="Transparent" /> <GradientStop Offset="0.6" Color="Transparent" /> <GradientStop Offset="0.8" Color="{Binding RelativeSource={RelativeSource AncestorType=control:TextBoxControl}, Path=BorderColor}" /> <GradientStop Offset="1" Color="{Binding RelativeSource={RelativeSource AncestorType=control:TextBoxControl}, Path=BorderColor}" /> </LinearGradientBrush.GradientStops> </LinearGradientBrush> </Border.BorderBrush> <TextBox Name="PART_TextBox" MinWidth="30" AcceptsReturn="True" Background="Transparent" BorderThickness="0" FontSize="{TemplateBinding FontSize}" Foreground="{TemplateBinding Foreground}" TextWrapping="Wrap" /> </Border> </Grid> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="BorderColor" Value="Blue" /> </Trigger> <Trigger Property="MyFocus" Value="True"> <Setter Property="BorderColor" Value="Blue" /> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> </ResourceDictionary>