Problembeschreibung
Treten möglicherweise die folgenden Probleme beim Rendern von Grafiken mit Windows Presentation Foundation (WPF) in.NET Framework 3.5 Service Pack 1 (SP1)-Anwendung.
Problem 1
Wenn Sie den Wert der VisualBrush.Visual -Eigenschaft in einer WPF-Anwendung ändern, stürzt die Anwendung ab.
Problem 2
Wenn Sie eine der folgenden Aktionen ausführen, tritt ein Speicherverlust im Renderthread einer WPF-Anwendung:
-
Mithilfe die Software-Rendering-Pipeline, die ein VisualBrush Objekt oder einer DrawingBrush -Objekt enthält, eine 3D-Szene rendern. Beispielsweise verwenden Sie Software-Rendering-Pipeline, wenn Sie eine der folgenden Aktionen ausführen:
-
Rendern die Szene mit der RenderTargetBitmap -Klasse.
-
Drucken die Szene.
-
Sie festlegen Rendern Tier-Eigenschaft auf 0.
-
Rendern die Szene über eine Remotedesktopverbindung.
-
-
Rendern eine Szene mit WriteableBitmap -Klasse auf einem Computer, der nicht Windows Display Driver Model (WDDM) verwendet.
-
Sie verwenden Hardware-Rendering-Pipeline zum Rendern einer szenenverlaufs mit gekachelten VisualBrush -Objekt oder ein gekachelter DrawingBrush -Objekt auf einem Computer, der keine WDDM verwendet.
Problem 3
WPF-Anwendung, die mit Ebenen Absturz Windows eine der folgenden Aktionen ausführen:
-
Legen Sie einen Computer mit Windows XP Display Driver Model (XPDDM) in den Standbymodus und dann den Computer aus dem Standbymodus reaktivieren.
-
Sie wechseln in den Vollbildmodus Konsolenmodus unter Windows XP.
Ursache
Ursache 1
Dieses Problem tritt auf, weil ein allgemeiner Fehler von Rendering-Thread zurückgegeben wird, wenn die Vorgänge im Thread falsch angeordnet werden. Diese Vorgänge verursachen untergeordneten Objekten übergeordnete Objekt trennen.
Beispielsweise muss ein visuelles Objekt VisualBrush Objekt entfernt werden bevor von VisualBrush Objekt getrennt wird. Jedoch können zu visuellen Objekts entfernen falsch sortiert. Daher trennt das visuelle Objekt übergeordnete Objekt.
Ursache 2
Dieses Problem tritt aufgrund einer Referenz zählen Fehler im Renderthread.
Ursache 3
Dieses Problem tritt auf, weil ein Win32-Fehlercode nicht richtig behandelt wird.
Problemlösung
Zum Beheben dieses Problems wenden Sie das im folgenden Artikel der Microsoft Knowledge Base beschriebene Hotfix-Paket:
2667241 Ein Update-Rollup ist verfügbar für Windows Presentation Foundation (WPF) für Microsoft.NET Framework 3.5
Weitere Informationen
Stapel-Ausgabe
System.InvalidOperationException: An unspecified error occurred on the render thread.
at System.Windows.Media.MediaContext.NotifyPartitionIsZombie(Int32 failureCode)
at System.Windows.Media.MediaContext.NotifyChannelMessage()
at System.Windows.Interop.HwndTarget.HandleMessage(Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
Status
Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.