Я использую DataGrid для отображения этих данных.
Вот простой XAML :
Код: Выделить всё
Код: Выделить всё
public class SomeModel(decimal someNum = 10.0m)
{
public decimal SomeValue { get; set; } = someNum;
}
public partial class MainWindowViewModel : ViewModelBase
{
public ObservableCollection SomeModels { get; }= new ObservableCollection([
new SomeModel(),
new SomeModel(11.0m),
new SomeModel(5.0m),
]);
}
Если я введу туда неправильное значение, я получите этот восклицательный знак:

Кажется, все в порядке способ показать пользователю, что значение неверно. Однако, если я наведу курсор на этот восклицательный знак, я увижу неприятное исключение, которое конечный пользователь, вероятно, не должен видеть в такой форме:

Это либо не должно отображаться вообще, либо отображаться более красиво без всех этих исключений InvalidCastException (что-то вроде просто «Неправильного номера» было бы достаточно), но я пока не нашел способа добиться этого. Возможно ли это?
Я решил, что мог бы попытаться реализовать INotifyDataErrorInfo в классе модели, который позволяет мне показывать красивое сообщение, если в этой ячейке есть пустая строка. Но если у меня есть непустая, но нечисловая строка, она все равно показывает то же исключение.
Подробнее здесь: https://stackoverflow.com/questions/792 ... in-avaloni
Мобильная версия