您的位置:首页 > Web前端 > CSS

WPF--TextBox样式使用(文字居中、背景、圆角...)

2015-02-02 16:05 579 查看
  1、XAML

<TextBox HorizontalAlignment="Left" Height="30" FontSize="15"  TextWrapping="NoWrap" Text="TextBox" VerticalAlignment="Top" Width="150" Style="{DynamicResource TextBoxStyle1}" VerticalContentAlignment="Center" BorderBrush="#E3E3E3" BorderThickness="1"/>

2、Style

 <SolidColorBrush x:Key="TextBox.Static.Border" Color="#FFABAdB3"/>

        <SolidColorBrush x:Key="TextBox.MouseOver.Border" Color="#FF7EB4EA"/>

        <SolidColorBrush x:Key="TextBox.Focus.Border" Color="#FF569DE5"/>

        <Style x:Key="TextBoxStyle1" TargetType="{x:Type TextBox}">

            <Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"/>

            <Setter Property="BorderBrush" Value="{StaticResource TextBox.Static.Border}"/>

            <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>

            <Setter Property="BorderThickness" Value="1"/>

            <Setter Property="KeyboardNavigation.TabNavigation" Value="None"/>

            <Setter Property="HorizontalContentAlignment" Value="Left"/>

            <Setter Property="FocusVisualStyle" Value="{x:Null}"/>

            <Setter Property="AllowDrop" Value="true"/>

            <Setter Property="ScrollViewer.PanningMode" Value="VerticalFirst"/>

            <Setter Property="Stylus.IsFlicksEnabled" Value="False"/>

            <Setter Property="Template">

                <Setter.Value>

                    <ControlTemplate TargetType="{x:Type TextBox}">

<!--背景、边框-->

                        <Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"     SnapsToDevicePixels="True" CornerRadius="5">

                            <Border.Background>

                                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">

                                    <GradientStop Color="#FFE3E3E3" Offset="0"/>

                                    <GradientStop Color="White" Offset="1"/>

                                </LinearGradientBrush>

                            </Border.Background>

                            <ScrollViewer x:Name="PART_ContentHost" Focusable="false" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden"></ScrollViewer>

                        </Border>

                        <ControlTemplate.Triggers>

                            <Trigger Property="IsEnabled" Value="false">

                                <Setter Property="Opacity" TargetName="border" Value="0.56"/>

                            </Trigger>

                            <Trigger Property="IsMouseOver" Value="true">

                                <Setter Property="BorderBrush" TargetName="border" Value="{StaticResource TextBox.MouseOver.Border}"/>

                            </Trigger>

                            <Trigger Property="IsKeyboardFocused" Value="true">

                                <Setter Property="BorderBrush" TargetName="border" Value="{StaticResource TextBox.Focus.Border}"/>

                            </Trigger>

                        </ControlTemplate.Triggers>

                    </ControlTemplate>

                </Setter.Value>

            </Setter>

            <Style.Triggers>

                <MultiTrigger>

                    <MultiTrigger.Conditions>

                        <Condition Property="IsInactiveSelectionHighlightEnabled" Value="true"/>

                        <Condition Property="IsSelectionActive" Value="false"/>

                    </MultiTrigger.Conditions>

                    <Setter Property="SelectionBrush" Value="{DynamicResource {x:Static SystemColors.InactiveSelectionHighlightBrushKey}}"/>

                </MultiTrigger>

            </Style.Triggers>

        </Style>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息