我想在验证业务对象时显示警告和错误,并将这些信息以可视方式显示给用户.
例如,我有一个实现如下界面的业务对象类:
interface IOrderItem : IDataErrorInfo
{
int ProductId { get; set; }
string ProductName { get; set; }
decimal Price { get; set; }
IDictionary<string, string> Warnings { get; }
}
Run Code Online (Sandbox Code Playgroud)
这与用户界面绑定如下:
<TextBox Text="{Binding Price, ValidatesOnDataErrors=True}/>
Run Code Online (Sandbox Code Playgroud)
错误是:
当我使用IDataErrorInfo
界面将错误消息放在业务对象上时,这很好地工作并在文本框周围绘制一个红色边框.
我想做的还是指定警告,例如:
这些警告会在文本框周围放置橙色边框,并告知用户可能存在问题但不会阻止它们继续运行.
警告以类似的方式存储在映射PropertyName => WarningMessage的字符串字典中IDataErrorInfo
.
问题:最好的方法是什么?