Estilos y plantillas de PasswordBox
Artículo 04/05/2023
2 colaboradores
Comentarios
En este artículo
Partes de PasswordBox
Estados de PasswordBox
Ejemplo de ControlTemplate de PasswordBox
Vea también
En este tema se describen los estilos y las plantillas del control PasswordBox . Puede modificar la clase ControlTemplate predeterminada para dar un aspecto único al control. Para obtener más información, consulte Creación de una plantilla de un control .
En la tabla siguiente se enumeran los elementos con nombre del control PasswordBox .
Expandir tabla
En la tabla siguiente se muestran los estados visuales del control PasswordBox .
Expandir tabla
Nombre de VisualState
Nombre de VisualStateGroup
Descripción
Normal
CommonStates
El estado predeterminado.
MouseOver
CommonStates
El puntero del mouse se coloca sobre el control.
Deshabilitado
CommonStates
El control está deshabilitado.
Con foco
FocusStates
El control tiene el foco.
Sin foco
FocusStates
El control no tiene el foco.
Válido
ValidationStates
El control usa la clase Validation y la propiedad adjunta Validation.HasError es false
.
InvalidFocused
ValidationStates
La propiedad adjunta Validation.HasError es true
y el control tiene el foco.
InvalidUnfocused
ValidationStates
La propiedad adjunta Validation.HasError es true
y el control no tiene el foco.
Ejemplo de ControlTemplate de PasswordBox
En el ejemplo siguiente se muestra cómo definir ControlTemplate para el control PasswordBox .
<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 >
En el ejemplo anterior se usa uno o varios de los recursos siguientes.
<Color x:Key ="WindowColor" > #FFE8EDF9</Color >
<Color x:Key ="ContentAreaColorLight" > #FFC5CBF9</Color >
<Color x:Key ="ContentAreaColorDark" > #FF7381F9</Color >
<Color x:Key ="DisabledControlLightColor" > #FFE8EDF9</Color >
<Color x:Key ="DisabledControlDarkColor" > #FFC5CBF9</Color >
<Color x:Key ="DisabledForegroundColor" > #FF888888</Color >
<Color x:Key ="SelectedBackgroundColor" > #FFC5CBF9</Color >
<Color x:Key ="SelectedUnfocusedColor" > #FFDDDDDD</Color >
<Color x:Key ="ControlLightColor" > White</Color >
<Color x:Key ="ControlMediumColor" > #FF7381F9</Color >
<Color x:Key ="ControlDarkColor" > #FF211AA9</Color >
<Color x:Key ="ControlMouseOverColor" > #FF3843C4</Color >
<Color x:Key ="ControlPressedColor" > #FF211AA9</Color >
<Color x:Key ="GlyphColor" > #FF444444</Color >
<Color x:Key ="GlyphMouseOver" > sc#1, 0.004391443, 0.002428215, 0.242281124</Color >
<Color x:Key ="BorderLightColor" > #FFCCCCCC</Color >
<Color x:Key ="BorderMediumColor" > #FF888888</Color >
<Color x:Key ="BorderDarkColor" > #FF444444</Color >
<Color x:Key ="PressedBorderLightColor" > #FF888888</Color >
<Color x:Key ="PressedBorderDarkColor" > #FF444444</Color >
<Color x:Key ="DisabledBorderLightColor" > #FFAAAAAA</Color >
<Color x:Key ="DisabledBorderDarkColor" > #FF888888</Color >
<Color x:Key ="DefaultBorderBrushDarkColor" > Black</Color >
<Color x:Key ="HeaderTopColor" > #FFC5CBF9</Color >
<Color x:Key ="DatagridCurrentCellBorderColor" > Black</Color >
<Color x:Key ="SliderTrackDarkColor" > #FFC5CBF9</Color >
<Color x:Key ="NavButtonFrameColor" > #FF3843C4</Color >
<LinearGradientBrush x:Key ="MenuPopupBrush"
EndPoint ="0.5,1"
StartPoint ="0.5,0" >
<GradientStop Color ="{DynamicResource ControlLightColor}"
Offset ="0" />
<GradientStop Color ="{DynamicResource ControlMediumColor}"
Offset ="0.5" />
<GradientStop Color ="{DynamicResource ControlLightColor}"
Offset ="1" />
</LinearGradientBrush >
<LinearGradientBrush x:Key ="ProgressBarIndicatorAnimatedFill"
StartPoint ="0,0"
EndPoint ="1,0" >
<LinearGradientBrush.GradientStops >
<GradientStopCollection >
<GradientStop Color ="#000000FF"
Offset ="0" />
<GradientStop Color ="#600000FF"
Offset ="0.4" />
<GradientStop Color ="#600000FF"
Offset ="0.6" />
<GradientStop Color ="#000000FF"
Offset ="1" />
</GradientStopCollection >
</LinearGradientBrush.GradientStops >
</LinearGradientBrush >
Para ver un ejemplo completo, consulte Aplicación de estilos con el ejemplo ControlTemplates .