繁体   English   中英

WPF验证自定义触发器

[英]WPF validation custom trigger

我有几个启用了验证的绑定TextBox。

  <TextBox Text="{Binding Name, ValidatesOnDataErrors=True" />
  <TextBox Text="{Binding Password, ValidatesOnDataErrors=True" />
  <Button Command="{Binding OkCommand}"/>

打开视图时,默认情况下这些文本框无效,因为我的文本框上没有NotEmpty。

我希望仅在最后一次单击“确定”时进行验证。 如何从代码(按钮的命令)触发验证?

您可以通过将UpdateSourceTrigger设置为Explicit来明确触发验证,例如:

<TextBox x:Name="textBox1"
         Text="{Binding Name, ValidatesOnDataErrors=True, 
                              UpdateSourceTrigger=Explicit}"/>
<TextBox x:Name="textBox2"
         Text="{Binding Password, ValidatesOnDataErrors=True, 
                                  UpdateSourceTrigger=Explicit}" />
<Button Click="Button_Click"/>

在处理程序中,您必须像这样显式更新源代码-

private void Button_Click(object sender, RoutedEventArgs e)
{
    textBox1.GetBindingExpression(TextBox.TextProperty).UpdateSource();
    textBox2.GetBindingExpression(TextBox.TextProperty).UpdateSource();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM