Неопределенная ошибка произошла в потоке рендеринга. (NotifyPartitionIsZombie) - PullRequest
5 голосов
/ 09 апреля 2010

ОК, вот в чем проблема, У меня есть объект ContentControl3D от thriple в этом я создаю LibraryStack с изображениями, он работает нормально, пока я не запустил функцию, где LibraryStack создается и заполняется. когда я нажимаю на любой из объектов внутри, я получаю следующую ошибку

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)
at System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Boolean isSingleParameter)
at System.Windows.Threading.Dispatcher.Invoke(DispatcherPriority priority, Delegate method, Object arg)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.Run()
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run(Window window)
at System.Windows.Application.Run()
at WelkoMap.App.Main() in F:\MediaGarde\Surface\Development\WelkoMap\WelkoMap\obj\Debug\App.g.cs:line 0
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

вот код, который добавляет и создает LibraryStack и заполняет его

public void ReplaceBackContent(List<Image> images, List<MediaElement> videos)
{
    ContentControl3D control = this.TryFindParent<ContentControl3D>();
    if (control == null)
    {
        return;
    }
    LibraryStack stack = new LibraryStack();

    foreach (Image image in images)
    {
        if (image.Parent != null)
        {
            continue;
        }
        LibraryStackItem item = new LibraryStackItem();
        item.Content = image;
        stack.Items.Add(item);

    }
    control.BackContent = stack;
}

Так как он имеет ошибку NotifyPartitionIsZombie, я уже установил обновление Windows KB967634, которое абсолютно не имело никакого эффекта

Ответы [ 3 ]

1 голос
/ 20 марта 2015

Здесь - подробное объяснение этой ошибки и что вы можете с ней сделать.

1 голос
/ 16 октября 2011

Я ненавижу это исключение! Я тоже расследую это и решил опубликовать то, что нашел.

  • Обновлены ли драйвера вашей видеокарты?
  • Я бы также использовал snoop и осматривал один из объектов и проверял бы высоту, ширину или позиции, которые являются NAN.
  • Убедитесь, Свойство Window.AllowsTransparency ложно

В msdn есть сообщение, в котором утверждается, что дамп памяти WinDbg может помочь Microsoft в расследовании.

Надеюсь, что-то здесь поможет.

0 голосов
/ 09 декабря 2014

Я знаю, что это старая тема, но на некоторых компьютерах, которые я заметил, все еще возникает исключение.

Помимо проверки того, что ваши графические драйверы обновлены, мне также помогло, когда я сменил аппаратное ускорение до минимального уровня (особенно с картами Matrox).

(на Win7): щелкните правой кнопкой мыши> персонализировать> дисплей> изменить настройки дисплея> дополнительные настройки> устранить неполадки> изменить настройки

И я согласен с Дэвидом, это ужасное исключение, с которым можно столкнуться!

...