Скрыть или изменить исключение после неудачной привязки или проверки в DataGrid в АвалонииC#

Место общения программистов C#
Ответить
Anonymous
 Скрыть или изменить исключение после неудачной привязки или проверки в DataGrid в Авалонии

Сообщение Anonymous »

Предположим, у меня есть базовое приложение, которое получает некоторые данные, позволяет пользователю редактировать и сохранять их.
Я использую DataGrid для отображения этих данных.
Вот простой XAML : И ViewModel:

Код: Выделить всё

public class SomeModel(decimal someInt = 10.0m)
{
public decimal SomeValue { get; set; } = someInt;
}

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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»