我想让textbox的边框是红色的,并且在它下面有另一个textbox来显示错误。
C#
class BandsVM : ObservableObject, IPage, IDataErrorInfo
{
[Required(ErrorMessage = "De naam is verplicht")]
[RegularExpression(@"^[a-zA-Z''-'\s]{1,40}$", ErrorMessage = "Er zijn geen speciale tekens toegelaten")]
[StringLength(50, MinimumLength = 1, ErrorMessage = "De naam moet tussen de 1 en 50 karakters bevatten ")]
private string insertName;
public string InsertName
{
get { return insertName; }
set { insertName = value; }
}XAML:
<TextBox Validation.ErrorTemplate="{StaticResource ErrorTemplate}" Text="{Binding InsertName, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource TextboxError}"/>发布于 2013-11-28 03:10:58
因为你继承自ObservableObject,我假设它实现了INotifyPropertyChanged
属性InsertName应调用PropertyChanged事件处理程序,以通知wpf绑定引擎评估属性更改。这将调用您的this[]索引,IDataErrorInfo使用该索引来评估验证错误。
将您的属性更改为:
public string InsertName
{
get { return insertName; }
set {
if (value != insertname)
{
insertName = value;
}
OnPropertyChanged(() => InsertName);
// or OnPropertyChanged("InsertName");
}
}https://stackoverflow.com/questions/20250869
复制相似问题