c# – 如何阻止验证触发器在wpf中自动启动

前端之家收集整理的这篇文章主要介绍了c# – 如何阻止验证触发器在wpf中自动启动前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在viewmodel中进行了数据验证.当我加载视图时,检查验证,而不更改TextBox内容,这意味着通过加载视图将错误样式设置为TextBox

这是代码

XAML

<TextBox {...} Text="{Binding Path=ProductName,UpdateSourceTrigger=PropertyChanged,ValidatesOnDataErrors=True}"/>

viewmodel上,使用数据注释进行验证:

private string _productName;

[required(AllowEmptyStrings = false,ErrorMessage = "The Product Name can't be null or empty.")]
[StringLength(50,ErrorMessage = "The Product Name can't be longer than 50.")]
[Uniqueness(Entities.Product,ErrorMessage = "A Product with that Name already exists ")]
public string ProductName
{
    get { return _productName; }
    set
    {
        _productName = value;
        SaveProduct.OnCanExecuteChanged();
        OnPropertyChanged("ProductName");
    }
}

视图加载时如何停止验证触发?

我不想让TextBox在插入数据之前显示错误.

解决方法

每当PropertyChanged事件被提升为属性时,将检查验证.

我怀疑从构造器你正在设置财产.相反,在加载时,请考虑设置您的属性的字段,而不是实际属性.

_productName = "TestName";
原文链接:https://www.f2er.com/csharp/96374.html

猜你在找的C#相关文章