gpt4 book ai didi

c# - 如何有选择地验证 WPF 中的表单?

转载 作者:太空宇宙 更新时间:2023-11-03 11:54:53 24 4
gpt4 key购买 nike

我目前正在使用列出的验证码 here在应用程序中。我想有选择地验证一个页面。我的意思是:我有一个数据绑定(bind)的表单,附有验证规则。我还有一个复选框,选中后会禁用并清除多个绑定(bind)文本框的值。我可以在这些文本框上设置一个属性来告诉验证引擎在验证时不要包含这些文本框吗?

最佳答案

也许如果您为您的 Validator 类编写了一个附加属性,并首先在您的 IsValid 方法中检查它。

static class Validator
{
public static readonly DependencyProperty SkipValidationProperty =
DependencyProperty.RegisterAttached("SkipValidation", typeof(bool), typeof(Validator),
new UIPropertyMetadata(false));
public static bool GetSkipValidation(DependencyObject obj)
{
return (bool)obj.GetValue(SkipValidationProperty);
}
public static void SetSkipValidation(DependencyObject obj, bool value)
{
obj.SetValue(SkipValidationProperty, value);
}


public static bool IsValid(DependencyObject parent)
{
if (Validator.GetSkipValidation(parent)) return true;
//Rest of the validation code
}


}

然后你可以做一些简单的事情:

<StackPanel>
<TextBox x:Name="txt" local:Validator.SkipValidation="{Binding IsChecked, ElementName=cbx}" />
<CheckBox x:Name="cbx" >Skip Validate?</CheckBox>
</StackPanel>

关于c# - 如何有选择地验证 WPF 中的表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/821687/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com