Applies To.NET Framework 3.5 Service Pack 1

Симптоми

Можете да наблюдавате някой от следните проблеми при рендиране на графика чрез Windows представяне фондация (WPF) в .NET Framework 3.5 Service Pack 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

Този проблем възниква, защото обща грешка се връща от render нишка при операции в темата са подредени неправилно. Тези операции водят обекти наследници да се отдели от null родителски обект.Например Visual обект трябва да бъдат премахнати от VisualBrush обект, преди той е отделен от VisualBrush обект. Обаче операции за премахване на визуални обекта може да се поръча неправилно. Следователно Visual обект отделя от null родителски обект.

Причина 2

Този проблем възниква поради препратка отчитане грешка рендиране в темата.

Причина 3

Този проблем възниква, защото неправилно се обработва код за грешка на Win32.

Решение

За да разрешите този проблем, приложете пакета с актуални корекции, който е описан в следната статия от базата знания на Microsoft: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)

Статус

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.