Niedawno zmarnowałem wiele czasu próbując debugować datagrid WPF (z zestawu narzędzi WPF). Miałem kolumnę powiązaną z zapytaniem linq z właściwością, która rzuca wyjątek (w kilku wierszach). Wydaje się, że WPF wychwytuje wyjątek i po prostu powoduje, że komórki są puste. Naprawiłem błąd powodujący wyjątek, ale chciałbym zmienić zachowanie WPF. Zawsze chcę wiedzieć, czy coś jest nie tak. Dlaczego połknięcie wyjątku jest domyślnym zachowaniem i jak mogę to zmienić?Dlaczego zapis danych w pamięci WPF połknąć wyjątki?
Odpowiedz
Błędy wykrywania danych są połknięte natywnie, ale są wyświetlane w oknie dialogowym WYJŚCIE w interfejsie wizualnego studia. Jeśli chcesz być powiadomiony (i mieć jak największą kontrolę nad nim, jak to możliwe), możesz użyć Śledzenie źródeł.
Bea Stollnitz zapewnia dużą writeup na ten temat (i debuginng powiązania w ogóle) tutaj: http://www.beacosta.com/blog/?p=52
Najwyraźniej ten blog odszedł, ale mamy Wayback Maszyna: http://web.archive.org/web/20091103200557/http://www.beacosta.com/blog/?p=52
ja również Dodano go do mojego notebooka Coding dla Evernote: https://www.evernote.com/pub/view/sswrighton/coding/f9786746-94c3-41b5-bcd2-c12992d331a6?locale=en#st=p&n=f9786746-94c3-41b5-bcd2-c12992d331a6
W przypadku, który chcesz skonfigurować walidacji dla niego, można dodać ExceptionValidationRule
http://msdn.microsoft.com/en-us/library/system.windows.controls.exceptionvalidationrule.aspx
Włączenie Wyjątki pierwszej szansy w debuggera (Debug -> wyjątkami) będzie w tym pomóc, a także, choć może się irytujące
Właściwie to nie powoduje tej różnorodności wyjątków, aby z jakiegoś powodu przerwać wykonywanie. – PeterAllenWebb
Jeśli nie, zrobiłeś coś złego - to na pewno przerwie wykonywanie, już to zrobiłem. –
Oto moja favorite. Działa bez zmiany app.config
Dzięki, miałem już wdrożenie 'BindingListener' jednak jest to znacznie bardziej niesamowite. – Dennis
Link nie działa. Oto kopia zapasowa w Wayback Machine: http://web.archive.org/web/20110817030818/http://www.jasonbock.net/JB/Default.aspx?blog=entry.0f221e047de740ee90722b248933a28d –
I wdrożone rozwiązanie bardzo podobną do tej proponowanej przez Karsten:
- pochodnym
TraceListener
że rzuca zamiast rejestrowania - dodał, że słuchacz do
PresentationTraceSources.DataBindingSource
Patrz: complete solution on GitHub, zawiera aplikację demonstracyjną i projekt testowy urządzenia.
- 1. Dlaczego wyjątki nie są propagowane przez program rozsyłający WPF Dispatcher.Invoke?
- 2. WPF ShowDialog przełykanie wyjątki podczas obciążenia okna
- 3. WPF Bezpieczeństwo gwintowania danych?
- 4. Jest to zapis na niestabilną barierę pamięci w Javie
- 5. Dlaczego Grails usuwa moje wyjątki?
- 6. dlaczego nie BindingList w WPF
- 7. Dlaczego wyjątki Runtime "są odznaczone" w Javie?
- 8. nieostry odczyt/zapis vs odczyt/zapis w stanie hibernacji?
- 9. Jak obsługiwać wyjątki bazy danych w Django
- 10. zapis danych binarnych do pliku, dosłownie
- 11. Dlaczego to działa? (Php zapis dot)
- 12. Przechowywanie danych w pamięci
- 13. Przechowywanie danych w pamięci
- 14. Dlaczego Akka Streams połyka moje wyjątki?
- 15. Rails 4.1 - Zapis do bazy danych MySQL bez typowania danych
- 16. Zapis sesji Jetty/Tomcat
- 17. Zapis/odczyt tablicy wyników do pamięci wewnętrznej Android
- 18. C# WPF BitmapSource Wyciek pamięci?
- 19. Siła renderowania kontroli WPF w pamięci
- 20. Wyjątki Akka Futures Wyjątki
- 21. Zapis tablicy do pliku w PHP i uzyskiwanie danych
- 22. Szablony danych warunkowych w WPF
- 23. Dlaczego wyjątki AppDomain niezmiennie kończą aplikację?
- 24. Dlaczego wyjątki są zaznaczone i odznaczone?
- 25. Wyjątki: dlaczego dodawanie nawiasów zmienia coś?
- 26. Dlaczego nie są przechwytywane wyjątki C++?
- 27. Struktura danych tabeli w pamięci
- 28. Czy funkcja tr1 :: function połknąć może wartości zwracane?
- 29. Dlaczego wyjątki od unique_ptr destructor kończą program?
- 30. Wiązanie ICommand powodujące wyciek pamięci UI w aplikacji WPF
Link jest martwy. Czy mógłbyś to zaktualizować? – yumaikas