Почему привязка данных WPF к исключению ласточки?

Недавно я потратил много времени на отладку данных WPF datagrid (из набора инструментов WPF). У меня был столбец, связанный с запросом linq с свойством, которое бросало исключение (в несколько строк). Кажется, что WPF блокирует исключение, и он просто делает ячейки пустыми. Я исправил ошибку, вызывающую исключение, но я хотел бы изменить поведение WPF. Я всегда хочу знать, что-то не так. Почему происходит проглатывание исключения по умолчанию и как его изменить?

Ошибки привязки данных проглатываются изначально, но они отображаются в диалоговом окне OUTPUT в интерфейсе визуальной студии. Если вы хотите получать уведомления (и иметь как можно больше контроля над ним), вы можете использовать источники трассировки.

Bea Stollnitz предлагает отличную запись об этом (и debuginng привязки в целом) здесь: http://www.beacosta.com/blog/?p=52

По-видимому, этот блог ушел, но у нас есть WayBack Machine: http://web.archive.org/web/20091103200557/http://www.beacosta.com/blog/?p=52

Я также добавил его в свой блокнот для Evernote: https://www.evernote.com/pub/view/sswrighton/coding/f9786746-94c3-41b5-bcd2-c12992d331a6?locale=en#st=p&n=f9786746-94c3 -41b5-bcd2-c12992d331a6

Вот мой любимый . Он работает без изменения app.config

Если вы хотите установить для него валидацию, вы можете добавить ExceptionValidationRule

http://msdn.microsoft.com/en-us/library/system.windows.controls.exceptionvalidationrule.aspx

Я внедрил решение, очень похожее на решение, предложенное Карстеном:

  1. Выведено TraceListener которое генерирует вместо ведения журнала
  2. Добавлен этот прослушиватель в PresentationTraceSources.DataBindingSource

Посмотрите полное решение на GitHub , оно включает демонстрационное приложение и проект тестирования модhive.

Исключение в Visual Studio

Включение справки с первым шансом в отладчике (Debug -> Exceptions) также поможет в этом, хотя это может раздражать

  • Связывание WPF ComboBox с пользовательским списком
  • Принуждение WPF TextBox больше не работает в .NET 4.0
  • ItemsControl с несколькими DataTemplates для viewmodel
  • Можно ли связать свойство Canvas's Children в XAML?
  • Привязка OneWayToSource от свойства readonly в XAML
  • Связывающие свойства в коде
  • Общий class наблюдаемого словаря для DataBinding / WPF C #
  • Привязка данных Android с использованием тега include
  • Каковы различные режимы привязки WPF?
  • Связывание Richtextbox wpf
  • Заполнить Combobox из базы данных
  • Interesting Posts

    Что вызывает двойные слэши в Linux?

    Как восстановить функции копирования / вставки для подключения к удаленному рабочему столу?

    Бесплатная утилита для преобразования DTD в XSD?

    Удаление папки Windows.old?

    Построить проект в JAR автоматически в Eclipse

    «% d» ожидает аргумент типа «int», но аргумент 2 имеет тип «long unsigned int»

    Перенос почты: пересылка писем в учетную запись IMAP

    Почему мой размер текста настолько мал после изменения моего увеличения экрана до 125% и обратно?

    Как настроить ckeditor 4.2 встроенный плагин, как ссылки?

    Выборочное отключение UAC для определенных программ в Windows 7

    установка n изображений с переменной высотой на 3 (аналогичная длина) компоновки столбцов

    Почему .NET 4.0 имеет новый GAC, почему?

    Создание ограниченной учетной записи пользователя в Windows 7

    Я хочу разрешить недействительные SSL-сертификаты с помощью AFNetworking

    Тонирование и сортировка с помощью XSLT 1.0

    Давайте будем гением компьютера.