Mam złożoną kontrolę WPF, która pobiera wiele prymitywów w OnRender (jest to trochę jak mapa). Kiedy zmieni się niewielka część, chciałbym ponownie wydać polecenia renderowania dla elementów, których dotyczy problem, zamiast uruchamiać cały OnRender. Chociaż nie mam żadnych problemów z działaniem funkcji OnRender przy zmianie rozmiaru lub innym podobnym, nie jest ona wystarczająco szybka dla podświetlania prymitywów za pomocą myszy.Możliwe do InvalidateVisual() na danym regionie zamiast całego formantu WPF?
Obecnie jedynym sposobem, w jaki wiem, jak wymusić aktualizację ekranu, jest wywołanie metody InvalidateVisual(). Nie można wysłać nieprawidłowego regionu, aby go unieważnić.
Czy najmniejsza ziarnistość kompozycji ekranu WPF to element interfejsu użytkownika? Czy muszę wykonać renderowanie elementów pierwotnych w celu pośrednim, a następnie użyć tego polecenia InvalidateVisual() w celu aktualizacji na ekranie?
Czy nadpisać UIElement.OnRender wyciągnąć wszystko wewnątrz UIElement, czy też element nadal mają normalne dzieci wizualnych? –