I have the following class where I have implemented IDataErrorInfo
Interface but it doesn't work i.e it doesn't do the validation. The code seems perfect. I dont know why. I put a break point and It doesn't even enter into the IDataErrorInfo Members
region.
Product class
[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;
}
}
XAML for Binding a textbox
<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"/>