C# 使用Entlib 5.0对非文本属性进行WPF验证
我试图用Entlib 5.0验证WPF中的用户输入。我想检查文本框中的值是否为数字 我的模型:C# 使用Entlib 5.0对非文本属性进行WPF验证,c#,binding,enterprise-library,C#,Binding,Enterprise Library,我试图用Entlib 5.0验证WPF中的用户输入。我想检查文本框中的值是否为数字 我的模型: public class Customer { [Required(ErrorMessage = "Country is required")] public double Country { get; set; } } Xaml: 当我将文本设置为texbox Validation.HasError时,设置为false 你知道我如何验证这种情况吗。我找到了解决办法 绑定应如下所
public class Customer
{
[Required(ErrorMessage = "Country is required")]
public double Country { get; set; }
}
Xaml:
当我将文本设置为texbox Validation.HasError时,设置为false
你知道我如何验证这种情况吗。我找到了解决办法 绑定应如下所示:
<Binding Path="Country" UpdateSourceTrigger="PropertyChanged" NotifyOnValidationError="True" ValidatesOnExceptions="True">
<Binding.ValidationRules>
<vab:ValidatorRule ValidationSpecificationSource="All" SourceType="{x:Type bl:Customer}" SourcePropertyName="Country"/>
</Binding.ValidationRules>
</Binding>
我的快速解决方法是将值公开为字符串属性并解析字符串,但这并不理想。
<Binding Path="Country" UpdateSourceTrigger="PropertyChanged" NotifyOnValidationError="True" ValidatesOnExceptions="True">
<Binding.ValidationRules>
<vab:ValidatorRule ValidationSpecificationSource="All" SourceType="{x:Type bl:Customer}" SourcePropertyName="Country"/>
</Binding.ValidationRules>
</Binding>