zoukankan      html  css  js  c++  java
  • ControlTemplate in WPF —— TextBox

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    
      <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="Shared.xaml" />
      </ResourceDictionary.MergedDictionaries>
    
      <!--<SnippetRichTextBox>-->
      <!--<SnippetTextBox>-->
      <Style TargetType="{x:Type TextBox}">
        <Setter Property="SnapsToDevicePixels"
                Value="True" />
        <Setter Property="OverridesDefaultStyle"
                Value="True" />
        <Setter Property="KeyboardNavigation.TabNavigation"
                Value="None" />
        <Setter Property="FocusVisualStyle"
                Value="{x:Null}" />
        <Setter Property="MinWidth"
                Value="120" />
        <Setter Property="MinHeight"
                Value="20" />
        <Setter Property="AllowDrop"
                Value="true" />
        <Setter Property="Template">
          <Setter.Value>
            <ControlTemplate TargetType="{x:Type TextBoxBase}">
              <Border Name="Border"
                      CornerRadius="2"
                      Padding="2"
                      BorderThickness="1">
                <Border.Background>
                  <SolidColorBrush Color="{DynamicResource ControlLightColor}" />
                </Border.Background>
                <Border.BorderBrush>
                  <SolidColorBrush Color="{DynamicResource BorderMediumColor}" />
                </Border.BorderBrush>
                <VisualStateManager.VisualStateGroups>
                  <VisualStateGroup x:Name="CommonStates">
                    <VisualState x:Name="Normal" />
                    <VisualState x:Name="Disabled">
                      <Storyboard>
                        <ColorAnimationUsingKeyFrames Storyboard.TargetName="Border"
                                                      Storyboard.TargetProperty="(Panel.Background).
                          (SolidColorBrush.Color)">
                          <EasingColorKeyFrame KeyTime="0"
                                               Value="{StaticResource DisabledControlLightColor}" />
                        </ColorAnimationUsingKeyFrames>
                      </Storyboard>
                    </VisualState>
                    <VisualState x:Name="ReadOnly">
                      <Storyboard>
                        <ColorAnimationUsingKeyFrames Storyboard.TargetName="Border"
                                                      Storyboard.TargetProperty="(Panel.Background).
                          (SolidColorBrush.Color)">
                          <EasingColorKeyFrame KeyTime="0"
                                               Value="{StaticResource DisabledControlDarkColor}" />
                        </ColorAnimationUsingKeyFrames>
                      </Storyboard>
                    </VisualState>
                    <VisualState x:Name="MouseOver" />
                  </VisualStateGroup>
                </VisualStateManager.VisualStateGroups>
                <ScrollViewer Margin="0"
                              x:Name="PART_ContentHost" />
              </Border>
            </ControlTemplate>
          </Setter.Value>
        </Setter>
      </Style>
      <!--</SnippetTextBox>-->
    
      <Style x:Key="{x:Type RichTextBox}"
             BasedOn="{StaticResource {x:Type TextBox}}"
             TargetType="{x:Type RichTextBox}">
        <Style.Resources>
          <Style x:Key="{x:Type FlowDocument}"
                 TargetType="{x:Type FlowDocument}">
            <Setter Property="OverridesDefaultStyle"
                    Value="true" />
          </Style>
        </Style.Resources>
      </Style>
      <!--</SnippetRichTextBox>-->
    
      <!--<SnippetPasswordBox>-->
      <Style x:Key="{x:Type PasswordBox}"
             TargetType="{x:Type PasswordBox}">
        <Setter Property="SnapsToDevicePixels"
                Value="true" />
        <Setter Property="OverridesDefaultStyle"
                Value="true" />
        <Setter Property="KeyboardNavigation.TabNavigation"
                Value="None" />
        <Setter Property="FocusVisualStyle"
                Value="{x:Null}" />
        <Setter Property="FontFamily"
                Value="Verdana" />
        <Setter Property="PasswordChar"
                Value="*" />
        <Setter Property="MinWidth"
                Value="120" />
        <Setter Property="MinHeight"
                Value="20" />
        <Setter Property="AllowDrop"
                Value="true" />
        <Setter Property="Template">
          <Setter.Value>
            <ControlTemplate TargetType="{x:Type PasswordBox}">
              <Border x:Name="Border"
                      CornerRadius="2"
                      Padding="2"
                      BorderThickness="1">
                <Border.Background>
                  <SolidColorBrush Color="{DynamicResource ControlLightColor}" />
                </Border.Background>
                <Border.BorderBrush>
                  <SolidColorBrush Color="{DynamicResource BorderMediumColor}" />
                </Border.BorderBrush>
                <VisualStateManager.VisualStateGroups>
                  <VisualStateGroup x:Name="CommonStates">
                    <VisualState x:Name="Normal" />
                    <VisualState x:Name="Disabled" />
                    <VisualState x:Name="MouseOver" />
                  </VisualStateGroup>
                </VisualStateManager.VisualStateGroups>
                <ScrollViewer x:Name="PART_ContentHost" />
              </Border>
            </ControlTemplate>
          </Setter.Value>
        </Setter>
      </Style>
      <!--</SnippetPasswordBox>-->
    
    </ResourceDictionary>
  • 相关阅读:
    docker save docker load
    Vue 开发线路 资料 汇总
    electron 开发拆坑总结
    mysqldbcopy 数据库复制工具
    用rsync命令删除大文件夹
    linux nc,nmap,telnet ,natstat命令
    搭建云版容器版本 需要的基础软件 安装工具
    phantomjs 前端测试工具
    消息列队 php 基于redis 实现
    部分安卓机器【小米手机】,文字显示不全
  • 原文地址:https://www.cnblogs.com/tianciliangen/p/7410532.html
Copyright © 2011-2022 走看看