Hello,
I am using a XamDataTree in my application and recently run into the following error :
I have a tree into which the use can add nodes. a node once added automatically enters edit mode so his name can be edited.
After adding several nodes, when trying to expoand a node under which I just added a child I come across a null reference exception, when looking into the "call stack" screen only "external code" is listed and I get the error call stack pasted below. Please let me know if you need any other information from the error window(the Inner exception message is null)
Thank you.
at Infragistics.Controls.Menus.Primitives.NodesPanel.RenderNode(XamDataTreeNode node, Double availableWidth) at Infragistics.Controls.Menus.Primitives.NodesPanel.MeasureOverride(Size availableSize) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.ContextLayoutManager.UpdateLayout() at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg) at System.Windows.Media.MediaContext.InvokeOnRenderCallback.DoWork() at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks() at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget) at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler) at System.Windows.Threading.DispatcherOperation.InvokeImpl() at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state) at System.Threading.ExecutionContext.runTryCode(Object userData) at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Windows.Threading.DispatcherOperation.Invoke() at System.Windows.Threading.Dispatcher.ProcessQueue() at System.Windows.Threading.Dispatcher.WndProcHook(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, Int32 numArgs) at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler) at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs) 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 EasyBoard.NET.View.App.Main() in D:\Projects\EasyBoard.NET\EasyBoard.NET.View\obj\Debug\App.g.cs:line 0 at System.AppDomain._nExecuteAssembly(RuntimeAssembly 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, Boolean ignoreSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart()
Hi Valerie,
In my case, I am trying to implement a find next/previous feature for my tree. The user types in a string into a text box and then presses next/previous to walk up or down the tree. The code activates/expands and deactivate/collapses the nodes as it find nodes that match the search string. This USUALLY works... but there is a case where if the first child of the first node is expanded, and then I try to activate it's parent node (collapsing the child in the process), it crashes.
I have created a sample that I believe shows the same problem (although it's hard to tell because of external code references). The sample includes a tree with random data and a button that will do the walking up & down. When you push the button, it first walks down the tree, activating and expanding all of the nodes. Next, it lets the GUI update once by pushing work onto the dispatcher thread. This work then walks backwards up the tree, deactivating and collapsing nodes. At some point in time, it crashes, as you can see.
Unfortunately this sample doesn't spit out the exact same error... but I believe it's related in any case. Hopefully we can work together to figure out what's wrong.
Good luck, and thanks for your time,
-Ryan-
Hello Rentabuddha,
I was unable to reproduce this issue based on the information provided. Could you provide a sample which demonstrates the issue so that I can look into this further?
Sincerely,
Valerie
Developer Support Supervisor - XAML
Infragistics
www.infragistics.com/support
What?! That's not helpful haha. DVSEGMBH, what did you do to resolve the issue? I'm getting the same thing and I can't figure out what's going on.
Hello Valerie,
Sorry for the late reply, I resolved this problem, the thread can be closed.
Thank you for your help and sample
Have you had a chance to review the sample I created?