Причини
Можуть виникнути такі проблеми, під час відображення графіки за допомогою Windows подання графіки (WPF) .NET Framework 3.5 із пакетом оновлень 1 (SP1)-основі застосунку.
Проблема 1
Якщо змінити значення властивості VisualBrush.Visual , у застосунку WPF, застосунок аварійно завершує роботу.
Проблема 2
Втрата пам'яті відбувається в потоці рендерінгу WPF програми, коли виконується одна з таких дій:
-
Програмний рендерінг та-канал використовується для відображення 3D-сцени, який входить до VisualBrush або DrawingBrush -об'єкта. Наприклад, ви використовуєте програмний рендерінг та-канал, коли виконується одна з таких дій:
-
Вас надати сцени за допомогою RenderTargetBitmap -класу.
-
Роздрукувати місці.
-
Властивість рівня надання значення 0.
-
Вас надати сцени через підключення до віддаленого робочого стола.
-
-
Ви зробити це за допомогою WriteableBitmap класу на комп'ютері, на якому не використовується Windows Display Driver Model (WDDM).
-
Устаткування та надання-канал використовується для відображення сцени за допомогою черепичні VisualBrush -об'єкт "або" черепичні DrawingBrush об'єкт, на комп'ютері, який не підтримує WDDM, у.
Проблема 3
WPF застосунки, які використовують захисту windows, аварійне завершення роботи, під час виконання однієї з таких дій:
-
Переходу на комп'ютері, на якому використовується Windows XP відображення драйвер моделі (XPDDM) в режимі очікування, а потім виходу комп'ютера з режиму очікування.
-
Ви перейти до консолі в повноекранному режимі у Windows XP.
Причина
Причина 1
Ця проблема виникає, тому що загальний помилку повернув потік відтворення під час операцій в потоці пронумеровано неправильно. Ці операції призвести до дочірніх об'єктів, щоб від'єднати від значення null батьківського об'єкта.
Наприклад, для візуального об'єкта потрібно видалити з об'єкту VisualBrush час відключення від VisualBrush об'єкта. Проте ці дії для видалення об'єкта Visual можуть замовити неправильно. Таким чином, Visual об'єкт, відокремлює від значення null батьківського об'єкта.
Причина 2
Ця проблема виникає, через підрахунок помилка відтворення потоку.
Причина 3
Ця проблема виникає в тому, що код помилки Win32 неправильно обробляються.
Вирішення
Щоб вирішити цю проблему, потрібно застосувати пакет виправлень, описане в такій статті бази знань Майкрософт:
2667241 Зведене оновлення доступне для Windows Presentation Foundation (WPF) для Microsoft .NET Framework 3.5
Додаткові відомості
Вивід стека
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)
Стан
Корпорація Майкрософт підтвердила існування цієї неполадки у продуктах Майкрософт, перелічених у розділі "Застосовується до".