Я новичок в WPF, и у меня есть простое окно входа в систему, реализованное в mvvm с логином/паролем с помощью кнопки. my viewmodel реализует интерфейс idataerrorinfo для проверки текстовых полей. мое намерение состоит в том, чтобы иметь пустые текстовые поля при загрузке и текстовые поля щелчка, которые должны быть проверены, чтобы показывать ошибки (например, поле имени пуст) только при входе в систему. Я использовал связывание в качествеWPF Validation on textbox только на buttonclick not on windowload
<TextBox x:Name="txtName" Text="{Binding Path=Name,UpdateSourceTrigger=LostFocus,ValidatesOnDataErrors=True,ValidatesOnNotifyDataErrors=False}"/>
стиля для ошибки подсказки
<Style TargetType="TextBox">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding RelativeSource= {x:StaticRelativeSource.Self},
UpdateSourceTrigger=PropertyChanged,
Path=(Validation.Errors)[0].ErrorContent}"/>
</Trigger>
</Style.Triggers>
</Style>
и реализовать это свойство IDataErrorInfo с валидациями в ViewModel, как показано ниже
public string this[string columnName]
{
get
{
return Validate(columnName);
}
}
я связывание DataContext для ViewModel объект класса. Его работы, как ожидалось, за исключением ошибки, отображаются в текстовом поле на окне. Я хочу это только при загрузке окна. Пожалуйста, помогите, если я пропустил что-нибудь. Благодарю.
фиксированное форматирование – winhowes