我有文本框,我想在按钮“保存”点击文本框中验证有效的电子邮件。
但标准验证有奇怪的行为。当我打印新的电子邮件时,它始终有错误,这是非常烦人的。我只想在按钮单击后显示错误,然后如果获得焦点,则文本框必须变为有效。在MODEL-VIEW-VIEWMODEL中是否有标准方法可以做到这一点。
答案 0 :(得分:3)
更改TextBox
中绑定值的默认行为是LostFocus
。您需要将UpdateSourceTrigger
更改为显式。
<TextBox Name="MyTextBox"
Text="{Binding Path=FirstName, UpdateSourceTrigger=Explicit}" />
然后在您的代码中,您现在必须通过UpdateSource
点击处理程序明确调用Button
。
BindingExpression be = MyTextBox.GetBindingExpression(TextBox.TextProperty);
be.UpdateSource();