Mam kontrolę użytkownika WPF, dla której muszę wymusić renderowanie w RenderMode.SoftwareOnly
. Ponieważ używam .NET 3.5, musiałem zrobić coś takiego,Tryb renderowania oprogramowania - WPF
var hwndSource = PresentationSource.FromVisual(this) as HwndSource;
if (hwndSource != null)
{
hwndSource.CompositionTarget.RenderMode = RenderMode.SoftwareOnly;
}
Ale to nie działa na mojej aplikacji, program WPF jest upaść na kilku maszynach i wyłączenie akceleracji sprzętowej na poziomie rejestru wydaje naprawić problem.
Powyższy kod jest zapisany w zdarzeniu Loaded
okna. Jeśli mam rację, zdarzenie Loaded
dzieje się po wyrenderowaniu formantów (MSDN). Czy ma sens posiadanie powyższego kodu w tym wydarzeniu? Jeśli nie, jakie wydarzenie byłoby dla niego odpowiednie?
Czy ustawienie na obrazie RenderMode
wpływa na jego dzieci? Czy muszę ustawić to specjalnie dla każdego elementu potomnego?
Każda pomoc będzie świetna!
Cześć, jestem ciekawy. Czy rozwiązanie dyspozytorskie ci pomogło? – HCL