• silverlight重写TextBox PassWordBox


      密码框样式引入命名空间      xmlns:sys="clr-namespace:System;assembly=mscorlib"      

      1  <Style x:Key="MyTextBoxStyle" TargetType="TextBox">
      2 
      3             <Setter Property="BorderThickness" Value="0"/>
      4 
      5             <Setter Property="Background" Value="#FFFFFFFF"/>
      6 
      7             <Setter Property="Foreground" Value="#FF000000"/>
      8 
      9             <Setter Property="Padding" Value="2"/>
     10 
     11             <Setter Property="BorderBrush">
     12 
     13                 <Setter.Value>
     14 
     15                     <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
     16 
     17                         <GradientStop Color="#FFA3AEB9" Offset="0"/>
     18 
     19                         <GradientStop Color="#FF8399A9" Offset="0.375"/>
     20 
     21                         <GradientStop Color="#FF718597" Offset="0.375"/>
     22 
     23                         <GradientStop Color="#FF617584" Offset="1"/>
     24 
     25                     </LinearGradientBrush>
     26 
     27                 </Setter.Value>
     28 
     29             </Setter>
     30 
     31             <Setter Property="Template">
     32 
     33                 <Setter.Value>
     34 
     35                     <ControlTemplate TargetType="TextBox">
     36 
     37                         <Grid x:Name="RootElement">
     38 
     39                             <vsm:VisualStateManager.VisualStateGroups>
     40 
     41                                 <vsm:VisualStateGroup x:Name="CommonStates">
     42 
     43                                     <vsm:VisualState x:Name="Normal"/>
     44 
     45                                     <vsm:VisualState x:Name="MouseOver">
     46 
     47                                         <Storyboard>
     48 
     49                                             <ColorAnimation Storyboard.TargetName="MouseOverBorder" Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)" To="#FF99C1E2" Duration="0"/>
     50 
     51                                         </Storyboard>
     52 
     53                                     </vsm:VisualState>
     54 
     55                                     <vsm:VisualState x:Name="Disabled">
     56 
     57                                         <Storyboard>
     58 
     59                                             <DoubleAnimation Storyboard.TargetName="DisabledVisualElement" Storyboard.TargetProperty="Opacity" To="1" Duration="0"/>
     60 
     61                                         </Storyboard>
     62 
     63                                     </vsm:VisualState>
     64 
     65                                     <vsm:VisualState x:Name="ReadOnly">
     66 
     67                                         <Storyboard>
     68 
     69                                             <DoubleAnimation Storyboard.TargetName="ReadOnlyVisualElement" Storyboard.TargetProperty="Opacity" To="1" Duration="0" />
     70 
     71                                         </Storyboard>
     72 
     73                                     </vsm:VisualState>
     74 
     75                                 </vsm:VisualStateGroup>
     76 
     77                                 <vsm:VisualStateGroup x:Name="FocusStates">
     78 
     79                                     <vsm:VisualState x:Name="Focused">
     80 
     81                                         <Storyboard>
     82 
     83                                             <DoubleAnimation Storyboard.TargetName="FocusVisualElement" Storyboard.TargetProperty="Opacity" To="1" Duration="0"/>
     84 
     85                                         </Storyboard>
     86 
     87                                     </vsm:VisualState>
     88 
     89                                     <vsm:VisualState x:Name="Unfocused">
     90 
     91                                         <Storyboard>
     92 
     93                                             <DoubleAnimation Storyboard.TargetName="FocusVisualElement" Storyboard.TargetProperty="Opacity" To="0" Duration="0"/>
     94 
     95                                         </Storyboard>
     96 
     97                                     </vsm:VisualState>
     98 
     99                                 </vsm:VisualStateGroup>
    100 
    101 
    102                                 <!--<vsm:VisualStateGroup x:Name="ValidationStates">  
    103 
    104                                     <vsm:VisualState x:Name="Valid"/>  
    105 
    106                                     <vsm:VisualState x:Name="InvalidUnfocused">  
    107 
    108                                         <Storyboard>  
    109 
    110                                             <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ValidationErrorElement" Storyboard.TargetProperty="Visibility">  
    111 
    112                                                 <DiscreteObjectKeyFrame KeyTime="0">  
    113 
    114                                                     <DiscreteObjectKeyFrame.Value>  
    115 
    116                                                         <Visibility>Visible</Visibility>  
    117 
    118                                                     </DiscreteObjectKeyFrame.Value>  
    119 
    120                                                 </DiscreteObjectKeyFrame>  
    121 
    122                                             </ObjectAnimationUsingKeyFrames>  
    123 
    124                                         </Storyboard>  
    125 
    126                                     </vsm:VisualState>  
    127 
    128                                     <vsm:VisualState x:Name="InvalidFocused">  
    129 
    130                                         <Storyboard>  
    131 
    132                                             <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ValidationErrorElement" Storyboard.TargetProperty="Visibility">  
    133 
    134                                                 <DiscreteObjectKeyFrame KeyTime="0">  
    135 
    136                                                     <DiscreteObjectKeyFrame.Value>  
    137 
    138                                                         <Visibility>Visible</Visibility>  
    139 
    140                                                     </DiscreteObjectKeyFrame.Value>  
    141 
    142                                                 </DiscreteObjectKeyFrame>  
    143 
    144                                             </ObjectAnimationUsingKeyFrames>  
    145 
    146                                             <ObjectAnimationUsingKeyFrames Storyboard.TargetName="validationTooltip" Storyboard.TargetProperty="IsOpen">  
    147 
    148                                                 <DiscreteObjectKeyFrame KeyTime="0">  
    149 
    150                                                     <DiscreteObjectKeyFrame.Value>  
    151 
    152                                                         <sys:Boolean>True</sys:Boolean>  
    153 
    154                                                     </DiscreteObjectKeyFrame.Value>  
    155 
    156                                                 </DiscreteObjectKeyFrame>  
    157 
    158                                             </ObjectAnimationUsingKeyFrames>  
    159 
    160                                         </Storyboard>  
    161 
    162                                     </vsm:VisualState>  
    163 
    164                                 </vsm:VisualStateGroup>-->
    165 
    166  
    167 
    168                             </vsm:VisualStateManager.VisualStateGroups>
    169 
    170  
    171 
    172  
    173 
    174                             <Border x:Name="Border" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="1" Opacity="1" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}">
    175 
    176                                 <Grid>
    177 
    178                                     <Border x:Name="ReadOnlyVisualElement" Opacity="0" Background="#5EC9C9C9"/>
    179 
    180                                     <Border x:Name="MouseOverBorder" BorderThickness="0" BorderBrush="Transparent">
    181 
    182                                         <ScrollViewer x:Name="ContentElement" Padding="{TemplateBinding Padding}" BorderThickness="0" IsTabStop="False"/>
    183 
    184                                     </Border>
    185 
    186                                 </Grid>
    187 
    188                             </Border>
    189 
    190                             <Border x:Name="DisabledVisualElement" Background="#A5F7F7F7" BorderBrush="#A5F7F7F7" BorderThickness="{TemplateBinding BorderThickness}" Opacity="0" IsHitTestVisible="False"/>
    191 
    192                             <Border x:Name="FocusVisualElement" BorderBrush="#FF6DBDD1" BorderThickness="{TemplateBinding BorderThickness}" Margin="1" Opacity="0" IsHitTestVisible="False"/>
    193 
    194 
    195                             <!--<Border x:Name="ValidationErrorElement" BorderThickness="1" CornerRadius="1" BorderBrush="#FFDB000C" Visibility="Collapsed">  
    196 
    197                                 <ToolTipService.ToolTip>  
    198 
    199                                     <ToolTip x:Name="validationTooltip" Template="{StaticResource ValidationToolTipTemplate}" Placement="Right"  
    200 
    201                                                 PlacementTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}" 
    202 
    203                                                 DataContext="{Binding RelativeSource={RelativeSource TemplatedParent}}">  
    204 
    205                                         <ToolTip.Triggers>  
    206 
    207                                             <EventTrigger RoutedEvent="Canvas.Loaded">  
    208 
    209                                                 <EventTrigger.Actions>  
    210 
    211                                                     <BeginStoryboard>  
    212 
    213                                                         <Storyboard>  
    214 
    215                                                             <ObjectAnimationUsingKeyFrames Storyboard.TargetName="validationTooltip" Storyboard.TargetProperty="IsHitTestVisible">  
    216 
    217                                                                 <DiscreteObjectKeyFrame KeyTime="0">  
    218 
    219                                                                     <DiscreteObjectKeyFrame.Value>  
    220 
    221                                                                         <sys:Boolean>true</sys:Boolean>  
    222 
    223                                                                     </DiscreteObjectKeyFrame.Value>  
    224 
    225                                                                 </DiscreteObjectKeyFrame>  
    226 
    227                                                             </ObjectAnimationUsingKeyFrames>  
    228 
    229                                                         </Storyboard>  
    230 
    231                                                     </BeginStoryboard>  
    232 
    233                                                 </EventTrigger.Actions>  
    234 
    235                                             </EventTrigger>  
    236 
    237                                         </ToolTip.Triggers>  
    238 
    239                                     </ToolTip>  
    240 
    241                                 </ToolTipService.ToolTip>  
    242 
    243                                 <Grid Width="12" Height="12" HorizontalAlignment="Right" Margin="1,-4,-4,0" VerticalAlignment="Top" Background="Transparent">  
    244 
    245                                     <Path Margin="1,3,0,0" Data="M 1,0 L6,0 A 2,2 90 0 1 8,2 L8,7 z" Fill="#FFDC000C"/>  
    246 
    247                                     <Path Margin="1,3,0,0" Data="M 0,0 L2,0 L 8,6 L8,8" Fill="#ffffff"/>  
    248 
    249                                 </Grid>  
    250 
    251                             </Border>-->
    252 
    253  
    254 
    255 
    256                         </Grid>
    257 
    258                     </ControlTemplate>
    259 
    260                 </Setter.Value>
    261 
    262             </Setter>
    263 
    264         </Style>
    265 
    266         <Style x:Key="MyPasswordBoxStyle" TargetType="PasswordBox">
    267             <Setter Property="BorderThickness" Value="0" />
    268             <Setter Property="Background" Value="#FFFFFFFF" />
    269             <Setter Property="Foreground" Value="#FF000000" />
    270             <Setter Property="Padding" Value="2" />
    271             <Setter Property="BorderBrush">
    272                 <Setter.Value>
    273                     <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
    274                         <GradientStop Color="#FFA3AEB9" Offset="0"/>
    275                         <GradientStop Color="#FF8399A9" Offset="0.375"/>
    276                         <GradientStop Color="#FF718597" Offset="0.375"/>
    277                         <GradientStop Color="#FF617584" Offset="1"/>
    278                     </LinearGradientBrush>
    279                 </Setter.Value>
    280             </Setter>
    281             <Setter Property="Template">
    282                 <Setter.Value>
    283                     <ControlTemplate TargetType="PasswordBox">
    284                         <Grid x:Name="RootElement">
    285                             <vsm:VisualStateManager.VisualStateGroups>
    286                                 <vsm:VisualStateGroup x:Name="CommonStates">
    287                                     <vsm:VisualState x:Name="Normal" />
    288                                     <vsm:VisualState x:Name="MouseOver">
    289                                         <Storyboard>
    290                                             <ColorAnimation Storyboard.TargetName="MouseOverBorder" Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)" To="#FF99C1E2" Duration="0"/>
    291                                         </Storyboard>
    292                                     </vsm:VisualState>
    293                                     <vsm:VisualState x:Name="Disabled">
    294                                         <Storyboard>
    295                                             <DoubleAnimation Storyboard.TargetName="DisabledVisualElement" Storyboard.TargetProperty="Opacity" To="1" Duration="0"/>
    296                                         </Storyboard>
    297                                     </vsm:VisualState>
    298                                 </vsm:VisualStateGroup>
    299                                 <vsm:VisualStateGroup x:Name="FocusStates">
    300                                     <vsm:VisualState x:Name="Focused">
    301                                         <Storyboard>
    302                                             <DoubleAnimation Storyboard.TargetName="FocusVisualElement" Storyboard.TargetProperty="Opacity" To="1" Duration="0"/>
    303                                         </Storyboard>
    304                                     </vsm:VisualState>
    305                                     <vsm:VisualState x:Name="Unfocused">
    306                                         <Storyboard>
    307                                             <DoubleAnimation Storyboard.TargetName="FocusVisualElement" Storyboard.TargetProperty="Opacity" To="0" Duration="0"/>
    308                                         </Storyboard>
    309                                     </vsm:VisualState>
    310                                 </vsm:VisualStateGroup>
    311                                 <vsm:VisualStateGroup x:Name="ValidationStates">
    312                                     <vsm:VisualState x:Name="Valid"/>
    313                                     <vsm:VisualState x:Name="InvalidUnfocused">
    314                                         <Storyboard>
    315                                             <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ValidationErrorElement" Storyboard.TargetProperty="Visibility">
    316                                                 <DiscreteObjectKeyFrame KeyTime="0" >
    317                                                     <DiscreteObjectKeyFrame.Value>
    318                                                         <Visibility>Visible</Visibility>
    319                                                     </DiscreteObjectKeyFrame.Value>
    320                                                 </DiscreteObjectKeyFrame>
    321                                             </ObjectAnimationUsingKeyFrames>
    322                                         </Storyboard>
    323                                     </vsm:VisualState>
    324                                     <vsm:VisualState x:Name="InvalidFocused">
    325                                         <Storyboard>
    326                                             <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ValidationErrorElement" Storyboard.TargetProperty="Visibility">
    327                                                 <DiscreteObjectKeyFrame KeyTime="0" >
    328                                                     <DiscreteObjectKeyFrame.Value>
    329                                                         <Visibility>Visible</Visibility>
    330                                                     </DiscreteObjectKeyFrame.Value>
    331                                                 </DiscreteObjectKeyFrame>
    332                                             </ObjectAnimationUsingKeyFrames>
    333                                             <ObjectAnimationUsingKeyFrames Storyboard.TargetName="validationTooltip" Storyboard.TargetProperty="IsOpen">
    334                                                 <DiscreteObjectKeyFrame KeyTime="0" >
    335                                                     <DiscreteObjectKeyFrame.Value>
    336                                                         <sys:Boolean>True</sys:Boolean>
    337                                                     </DiscreteObjectKeyFrame.Value>
    338                                                 </DiscreteObjectKeyFrame>
    339                                             </ObjectAnimationUsingKeyFrames>
    340                                         </Storyboard>
    341                                     </vsm:VisualState>
    342                                 </vsm:VisualStateGroup>
    343                             </vsm:VisualStateManager.VisualStateGroups>
    344 
    345                             <Border x:Name="Border" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="1" Opacity="1" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}">
    346                                 <Border x:Name="MouseOverBorder" BorderThickness="0" BorderBrush="Transparent">
    347                                     <Border x:Name="ContentElement" Margin="{TemplateBinding Padding}"/>
    348                                 </Border>
    349                             </Border>
    350                             <Border x:Name="DisabledVisualElement" Background="#A5F7F7F7" BorderBrush="#A5F7F7F7" BorderThickness="{TemplateBinding BorderThickness}" Opacity="0" IsHitTestVisible="False"/>
    351                             <Border x:Name="FocusVisualElement" BorderBrush="#FF6DBDD1" BorderThickness="{TemplateBinding BorderThickness}" Margin="1" Opacity="0" IsHitTestVisible="False"/>
    352                             <!--<Border x:Name="ValidationErrorElement" BorderThickness="1" CornerRadius="1" BorderBrush="#FFDB000C" Visibility="Collapsed">
    353                                 <ToolTipService.ToolTip>
    354                                     <ToolTip x:Name="validationTooltip" Template="{StaticResource ValidationToolTipTemplate}" Placement="Right" 
    355                                            PlacementTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}" 
    356                                            DataContext="{Binding RelativeSource={RelativeSource TemplatedParent}}">
    357                                         <ToolTip.Triggers>
    358                                             <EventTrigger RoutedEvent="Canvas.Loaded">
    359                                                 <EventTrigger.Actions>
    360                                                     <BeginStoryboard>
    361                                                         <Storyboard>
    362                                                             <ObjectAnimationUsingKeyFrames Storyboard.TargetName="validationTooltip" Storyboard.TargetProperty="IsHitTestVisible">
    363                                                                 <DiscreteObjectKeyFrame KeyTime="0" >
    364                                                                     <DiscreteObjectKeyFrame.Value>
    365                                                                         <sys:Boolean>true</sys:Boolean>
    366                                                                     </DiscreteObjectKeyFrame.Value>
    367                                                                 </DiscreteObjectKeyFrame>
    368                                                             </ObjectAnimationUsingKeyFrames>
    369                                                         </Storyboard>
    370                                                     </BeginStoryboard>
    371                                                 </EventTrigger.Actions>
    372                                             </EventTrigger>
    373                                         </ToolTip.Triggers>
    374                                     </ToolTip>
    375                                 </ToolTipService.ToolTip>
    376                                 <Grid Width="12" Height="12" HorizontalAlignment="Right" Margin="1,-4,-4,0" VerticalAlignment="Top" Background="Transparent">
    377                                     <Path Margin="1,3,0,0" Data="M 1,0 L6,0 A 2,2 90 0 1 8,2 L8,7 z" Fill="#FFDC000C"/>
    378                                     <Path Margin="1,3,0,0" Data="M 0,0 L2,0 L 8,6 L8,8" Fill="#ffffff"/>
    379                                 </Grid>
    380                             </Border>-->
    381                         </Grid>
    382                     </ControlTemplate>
    383                 </Setter.Value>
    384             </Setter>
    385         </Style>
  • 相关阅读:
    前端开发网址
    Iconfot阿里妈妈-css高级应用
    手机端的META你知道多少?
    24个 HTML5 & CSS3 下拉菜单效果及制作教程
    css :clip rect 正确的使用方法
    layui :iframe 与 layer 的位置问题
    时间戳转现实时间的方法
    关于 iframe 的小问题若干
    使用 forever 启动 vue 需要注意的问题
    var 的一个坑,以及 let
  • 原文地址:https://www.cnblogs.com/LYunF/p/2797239.html
Copyright © 2020-2023  润新知