Я хотел бы отобразить предупреждения и ошибки при проверке бизнес-объекта и отобразить их визуально пользователю.
Например, у меня есть класс бизнес-объекта, реализовывая интерфейс как так:
interface IOrderItem : IDataErrorInfo
{
int ProductId { get; set; }
string ProductName { get; set; }
decimal Price { get; set; }
IDictionary<string, string> Warnings { get; }
}
Это связывается с UI следующим образом:
<TextBox Text="{Binding Price, ValidatesOnDataErrors=True}/>
Ошибка была бы:
Это работает приятно и тянет красную границу вокруг текстового поля, когда я поместил сообщение об ошибке на бизнес-объект с помощью IDataErrorInfo
интерфейс.
То, что я хотел бы сделать, также определяют предупреждения, например:
Эти предупреждения поместили бы оранжевую границу вокруг текстового поля и сообщили бы пользователю, что может быть проблема, но не остановить их продолжение.
Предупреждения хранятся в строковом отображении словаря PropertyName => WarningMessage похожим способом к IDataErrorInfo
.
Вопрос: Что лучший способ состоит в том, чтобы пойти об этом?