Is there a way to show the error message in the AdornedElementPlaceholder instead of Verifiying PasswordBox.
I have something like this:
<ControlTemplate x:Key="DefaultErrorTemplate">
<StackPanel Orientation="Horizontal">
<AdornedElementPlaceholder x:Name="placeholder" />
<Border Background="Red"
ToolTip="{Binding ElementName=placeholder, Path=AdornedElement.(Validation.Errors)[0].ErrorContent}"
ToolTipService.InitialShowDelay="0"
VerticalAlignment="Top"
Margin="3"
Width="20"
Height="20"
CornerRadius="10">
<TextBlock Text="!"
Foreground="White"
FontWeight="Bold"
HorizontalAlignment="Center"
VerticalAlignment="Center" />
</Border>
</StackPanel>
</ControlTemplate>
and im my BaseControlStyle im using this check
<Style TargetType="Control"
x:Key="ControlBaseStyle">
<Setter Property="Validation.ErrorTemplate"
Value="{StaticResource DefaultErrorTemplate}" />
and it works like a charm with almost every control that I have (Combobox, DateTimePicker, TextBox), but when I want to use the same style for passwordBox, it doesn't work.
The picture shows that it works with simpe TextBox, but not with PasswordBox. I don’t know how to extract the error message to show it in hint i thatAdornedElementPlaceholder
An error message is displayed for the Username property
[Required(ErrorMessage = "Please enter username.")]
I would not have achieved the same as with the password, in order to give feedback to the user about errors (restrictions) when entering the password
Any help really appreciated.
Thanks in advance:)
EDIT:
[Required(ErrorMessage = "Please enter password.")]
[RegularExpression(@"^.*(?=.{8,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9]).*$")]
[StringLength(maximumLength: 15, ErrorMessage = "Minimum 8 and maximum 15 characters.", MinimumLength = 8)]
public string Password
{
get { return GetValue<string>(); }
set { SetValue(value); }
}
PasswordBoxAssistant
<PasswordBox behaviors:PasswordBoxAssistant.BindPassword="True"
behaviors:PasswordBoxAssistant.BoundPassword="{Binding Player.Password, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged,ValidatesOnDataErrors=True}"
FontSize="{StaticResource defaultFontSize}"
Grid.Row="2"
Grid.Column="1"
Margin="10" />
PasswordBoxStyle, BasedOn ControlBaseStyle
<Style TargetType="{x:Type PasswordBox}"
BasedOn="{StaticResource ControlBaseStyle}">
TextBox, passwordBox.
INFO: , , ? , , , , , , . .