• 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>
  • 相关阅读:
    UseControls ————用户自定义控件的textbox的传值问题
    listview 的用法 (asp.net3.5新增控件)
    DataList 中 HyperLink传递时多个参数怎么绑定
    fileupload 上传文件函数 把图片名用日期时间命名
    repeat 的两个事件ItemDataBound和ItemCommand
    dataset.xsd的定义(vs2008)
    asp.net 的框架问题 使多个页面在同一个页面中显示
    第八章 支持与自我了悟
    项目管理心得:一个项目经理的个人体会、经验总结(转)
    细说委托(转)
  • 原文地址:https://www.cnblogs.com/tianciliangen/p/7410532.html
Copyright © 2020-2023  润新知