可观察验证器在wpf中不起作用



我在wpf-mvvm应用程序中工作,我也使用社区工具包.mvvm。在这里,我为文本框实现了Observable验证器,但它不会影响用户界面,

ViewModel:

public partial class UserViewModel :  ObservableValidator
{
[ObservableProperty]
[Required(ErrorMessage ="Name is Required")]
[MinLength(3)]
private string name= "";
}

Xaml:

<TextBox Text="{Binding Name,UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"/>

当我在少于3个字符的文本框上键入并离开它时,它不起作用,TextBox接受每个范围中的字符,也接受空字符。

谢谢!@mm8 先生

我只是错过了一个属性,-->[NotifyDataErrorInfo]。

现在工作正常。

ViewModel:

public partial class UserViewModel :  ObservableValidator
{
[ObservableProperty]
[NotifyDataErrorInfo]
[Required(ErrorMessage ="Name is Required")]
[MinLength(3, ErrorMessage ="Name Should be at least 3 character")]
private string username;
}

Xaml:

<TextBox Text="{Binding Username, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"/>

确认绑定正在工作。不需要将绑定的ValidatesOnDataErrors属性设置为true

<TextBox Text="{Binding Name, UpdateSourceTrigger=PropertyChanged,
ValidatesOnDataErrors=True}"/>

相关内容

  • 没有找到相关文章

最新更新