Вы можете установить свой PasswordBox
и в Triggers
Мы можем обновить Style
.
<PasswordBox>
<PasswordBox.Style>
<Style TargetType="{x:Type PasswordBox}">
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsFocused,RelativeSource={RelativeSource Self}}"
Value="False" />
<Condition Binding="{Binding IsError}"
Value="True" />
</MultiDataTrigger.Conditions>
<Setter Property="BorderBrush"
Value="Red" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
</PasswordBox.Style>
</PasswordBox>
в настоящем Кодексе IsError
недвижимость будет ваш ViewModel
Property Чтобы найти этот пароль погоды имеет какую-либо ошибку. Затем обновите BorderBrush
вашего PasswordBox
.
Я сделал это уже в своем коде, проблема заключается в том, что пограничная кисть находится внутри PasswordBox, а проверка Adorner находится снаружи, поэтому существует четкая визуальная разница, когда есть текстовое поле рядом с паролем. – mFeinstein
Почему MultiDataTrigger ? Просто DataTrigger в IsError будет делать, правильно? – mFeinstein