tôi có một đối tượng như thế:Cách sử dụng IDataErrorInfo.Error trong chương trình 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;
}
}
}
Ràng buộc các PERSONNAME và tài sản Tuổi rất dễ dàng:
<TextBox Text="{Binding PersonName, ValidatesOnDataErrors=True}" />
<TextBox Text="{Binding Age, ValidatesOnDataErrors=True}" />
Tuy nhiên, làm thế nào tôi có thể sử dụng tài sản Lỗi và hiển thị nó một cách thích hợp?
Cuối cùng tôi đã tìm thấy cách giải quyết và tôi đã đăng một bài đăng [ở đây] (http://www.cnblogs.com/guogangj/archive/2013/01/03/2843495.html). – guogangj
Thuộc tính Lỗi không thực sự được sử dụng trong WPF. Bạn thậm chí có thể ném một NotImplementedException trong đó. IDataErrorInfo đã được WPF sử dụng "bởi vì nó đã có sẵn", nhưng chỉ cho phần [] này. Không phải là góc đẹp nhất của WPF, tôi nghĩ vậy. – Robin
@Robin, bạn có thể đăng câu trả lời cho câu hỏi này. Nó được như 3-4 năm và không có câu trả lời được chấp nhận;) –