Mam obiekt tak:Jak korzystać z IDataErrorInfo.Error w programie WPF?
public class Person : IDataErrorInfo
{
public string PersonName{get;set;}
public int Age{get;set;}
string IDataErrorInfo.this[string propertyName]
{
get
{
if(propertyName=="PersonName")
{
if(PersonName.Length>30 || PersonName.Length<1)
{
return "Name is required and less than 30 characters.";
}
}
return null;
}
}
string IDataErrorInfo.Error
{
get
{
if(PersonName=="Tom" && Age!=30)
{
return "Tom must be 30.";
}
return null;
}
}
}
Związanie PERSONNAME i właściwości wiek jest łatwe:
<TextBox Text="{Binding PersonName, ValidatesOnDataErrors=True}" />
<TextBox Text="{Binding Age, ValidatesOnDataErrors=True}" />
jednak, w jaki sposób mogę skorzystać z właściwości błąd i pokazać go odpowiednio?
W końcu znalazłem obejście i napisałem post [tutaj] (http://www.cnblogs.com/guogangj/archive/2013/01/03/2843495.html). – guogangj
Właściwość Error nie jest tak naprawdę używana w WPF. Można nawet rzucić tam wyjątek NotImplementedException. IDataErrorInfo zostało użyte przez WPF "ponieważ już tam było", ale tylko dla tej części []. Nie myślę, że nie najładniejszy zakątek WPF. – Robin
@Robin, możesz opublikować odpowiedź na to pytanie. To było jak 3-4 lata i nie ma akceptowanej odpowiedzi;) –