【发布时间】:2016-01-28 11:24:57
【问题描述】:
我有以下类,我在其中实现了IDataErrorInfo 接口,但它不起作用,即它不进行验证。代码看起来很完美。我不知道为什么。我放了一个断点,它甚至没有进入IDataErrorInfo Members区域。
产品类别
[DataContract()]
public class Product : IDataErrorInfo
{
[DataMember()]
public string Name{get;set;}
[DataMember()]
public string Code{get;set;}
#region IDataErrorInfo Members
public string Error
{
get
{
return null;
}
}
public string this[string property]
{
get
{
switch (property)
{
case "Name":
if (string.IsNullOrEmpty(Name))
return "Name is required";
break;
case "Code":
if (string.IsNullOrEmpty(Code))
return "Code is required";
break;
default:
break;
}
return null;
}
}
#endregion
public Product(string name, string code)
{
Name = name;
Code = code;
}
}
用于绑定textbox的XAML
<TextBox Grid.Column="1"
HorizontalAlignment="Left"
Height="23"
Margin="24,9,0,0"
TextWrapping="Wrap"
VerticalAlignment="Top"
Width="148" x:Name="txtName"
Text="{Binding Name,Mode=TwoWay,ValidatesOnDataErrors=True}"
MaxLength="50"/>
【问题讨论】:
标签: c# validation silverlight