Nie patrzę w projekt bo mi się zwyczajnie nie chce.
Słusznie, na Twoim miejscu zrobiłbym to samo :)
- Wycieki pamięci. Bardziej dotyczy C++.
Bardzo wątpliwe - pomijając mechanizmy języka to jedyne problemy mogą występować przy wczytaniu zbyt dużej ilości informacji z bazy danych (a przy pustej bazie danych błąd jest)
- Błędne używanie wielowątkowości (przypuszczam, że tu może leżeć błąd o ile jej używasz).
Wątków w zasadzie używam tylko przy logowaniu do bazy danych, więc w czasie faktycznego działania programu działa tylko jeden główny.
- Ustalanie parametrów komponentów w kodzie - w różnych dziwnych miejscach. Sam potem nie wiesz, że coś ustawiło Ci komponent według pewnych ustawień.
Jedyne co robię w kodzie to podpinam dane do właściwości ItemsSource.
- Coś leży na kontrolce i jest przezroczyste.
Byłoby widać w XAML'u
- Komponent ma ustawiony locked.
Wszystkie ustawione przeze mnie właściwości są w pierwszym poście.
- Sprawdź czy zdarzenie podczas operacji się wywołuje.
Nie ma reakcji na kliknięcie, chociaż tutaj się jeszcze upewnię bo do końca nie pamiętam.
- Napisałeś własny datagrid, dziedziczący po starym i skopałeś zdarzenie OnPaint.
Nie
- Blokujesz poszczególne kolumny, rekordy, komórki w kodzie.
Nie, wszystkie operacje są niemal identyczne dla każdego DataGrid'a.
- Skopane podpinanie obiektów - DataSource. A przy tym propertisy boolowskie w obiektach.
Wątpie, ponieważ przez długi czas podpinanie działało i aplikacja się nie buntowała (a żadnych zmian nie wprowadzałem)
Obstawiam, że to problem wielowątkowości mimo, że nie wiem czy jej używasz. Powodem mojego przekonania jest to, że aplikacja działała zgodnie z tym co napisałeś i nagle przestała. Powód w takim przypadku? Brak wiedzy jak wykorzystać wielowątkowość i zapobiec problemom.
Tak jak mówiłem, raczej niemożliwy jest tutaj problem z wątkami. Ale w każdym razie dzięki za rozpiskę, jeszcze jutro sprawdzę kilka rzeczy.