Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
1150
Grid hangs when removing filter
posted

Hi,

one of our customers experiences the following problem:

When typing in the column filter textbox, the grid filters and reduces the list to the matching items normally. However, if the user then removes the filter (using backspace, one letter after the other), the grid hangs (for approx. 2 minutes) as soon as the full list of items is to be restored. The list is not particularly large (~10k items) and so far we failed to reproduce the behaviour even when using much larger lists.

I captured a dump of the hanging process, but it doesn't have any valuable info. Any idea how to address the problem?

     [Externer Code]    
     [Unten angegebene Rahmen sind möglicherweise nicht korrekt und/oder fehlen, keine Symbole geladen für ntdll.dll]    
     [Übergang von Verwaltet zu Systemeigen]    
>    WindowsBase.dll!MS.Win32.UnsafeNativeMethods.WaitForMultipleObjectsEx(int nCount, System.IntPtr[] pHandles, bool bWaitAll, int dwMilliseconds, bool bAlertable)    Unbekannt
     WindowsBase.dll!System.Windows.Threading.DispatcherSynchronizationContext.Wait(System.IntPtr[] waitHandles, bool waitAll, int millisecondsTimeout)    Unbekannt
     mscorlib.dll!System.Threading.SynchronizationContext.InvokeWaitMethodHelper(System.Threading.SynchronizationContext syncContext, System.IntPtr[] waitHandles, bool waitAll, int millisecondsTimeout)    Unbekannt
     [Übergang von Systemeigen zu Verwaltet]    
     [Externer Code]    
     [Übergang von Verwaltet zu Systemeigen]    
     UIAutomationProvider.dll!System.Windows.Automation.Provider.AutomationInteropProvider.HostProviderFromHandle(System.IntPtr hwnd)    Unbekannt
     PresentationCore.dll!MS.Internal.Automation.ElementProxy.HostRawElementProvider.get()    Unbekannt
     [Übergang von Systemeigen zu Verwaltet]    
     [Externer Code]    
     [Übergang von Verwaltet zu Systemeigen]    
     UIAutomationProvider.dll!System.Windows.Automation.Provider.AutomationInteropProvider.RaiseAutomationPropertyChangedEvent(System.Windows.Automation.Provider.IRawElementProviderSimple element, System.Windows.Automation.AutomationPropertyChangedEventArgs e)    Unbekannt
     PresentationCore.dll!System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree()    Unbekannt
     PresentationCore.dll!System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree()    Unbekannt
     PresentationCore.dll!System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree()    Unbekannt
     PresentationCore.dll!System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree()    Unbekannt
     PresentationCore.dll!System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree()    Unbekannt
     PresentationCore.dll!System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree()    Unbekannt
     PresentationCore.dll!System.Windows.ContextLayoutManager.fireAutomationEvents()    Unbekannt
     PresentationCore.dll!System.Windows.ContextLayoutManager.UpdateLayout()    Unbekannt
     PresentationCore.dll!System.Windows.UIElement.UpdateLayout()    Unbekannt
     PresentationFramework.dll!System.Windows.Documents.TextStore.MS.Win32.UnsafeNativeMethods.ITextStoreACP.GetTextExt(int viewCookie, int startIndex = 1, int endIndex = 1, out MS.Win32.UnsafeNativeMethods.RECT rect = {MS.Win32.UnsafeNativeMethods.RECT}, out bool clipped = true)    Unbekannt
     [Übergang von Systemeigen zu Verwaltet]    
     [Externer Code]    
     [Übergang von Verwaltet zu Systemeigen]    
     PresentationFramework.dll!System.Windows.Documents.TextStore.GrantLock()    Unbekannt
     PresentationFramework.dll!System.Windows.Documents.TextStore.GrantLockWorker(MS.Win32.UnsafeNativeMethods.LockFlags flags)    Unbekannt
     PresentationFramework.dll!System.Windows.Documents.TextStore.RequestLock(MS.Win32.UnsafeNativeMethods.LockFlags flags, out int hrSession)    Unbekannt
     [Übergang von Systemeigen zu Verwaltet]    
     [Externer Code]    
     [Übergang von Verwaltet zu Systemeigen]    
     PresentationFramework.dll!System.Windows.Documents.TextStore.OnSelectionChanged()    Unbekannt
     PresentationFramework.dll!System.Windows.Documents.TextSelection.System.Windows.Documents.ITextRange.NotifyChanged(bool disableScroll = false, bool skipEvents = false)    Unbekannt
     PresentationFramework.dll!System.Windows.Documents.TextRangeBase.EndChange(System.Windows.Documents.ITextRange thisRange = {System.Windows.Documents.TextSelection}, bool disableScroll, bool skipEvents)    Unbekannt
     PresentationFramework.dll!System.Windows.Documents.TextRange.System.Windows.Documents.ITextRange.EndChange(bool disableScroll, bool skipEvents)    Unbekannt
     PresentationFramework.dll!System.Windows.Documents.TextRange.ChangeBlock.System.IDisposable.Dispose()    Unbekannt
     PresentationFramework.dll!System.Windows.Documents.TextEditorTyping.OnBackspace(object sender, System.Windows.Input.ExecutedRoutedEventArgs args)    Unbekannt
     PresentationCore.dll!System.Windows.Input.CommandBinding.OnExecuted(object sender, System.Windows.Input.ExecutedRoutedEventArgs e)    Unbekannt
     PresentationCore.dll!System.Windows.Input.CommandManager.ExecuteCommandBinding(object sender, System.Windows.Input.ExecutedRoutedEventArgs e = {System.Windows.Input.ExecutedRoutedEventArgs}, System.Windows.Input.CommandBinding commandBinding)    Unbekannt
     PresentationCore.dll!System.Windows.Input.CommandManager.FindCommandBinding(object sender, System.Windows.RoutedEventArgs e, System.Windows.Input.ICommand command, bool execute)    Unbekannt
     PresentationCore.dll!System.Windows.Input.CommandManager.OnExecuted(object sender = {System.Windows.Controls.TextBox}, System.Windows.Input.ExecutedRoutedEventArgs e = {System.Windows.Input.ExecutedRoutedEventArgs})    Unbekannt
     PresentationCore.dll!System.Windows.UIElement.OnExecutedThunk(object sender, System.Windows.Input.ExecutedRoutedEventArgs e)    Unbekannt
     PresentationCore.dll!System.Windows.Input.ExecutedRoutedEventArgs.InvokeEventHandler(System.Delegate genericHandler, object target)    Unbekannt
     PresentationCore.dll!System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate handler, object target)    Unbekannt
     PresentationCore.dll!System.Windows.RoutedEventHandlerInfo.InvokeHandler(object target, System.Windows.RoutedEventArgs routedEventArgs)    Unbekannt
     PresentationCore.dll!System.Windows.EventRoute.InvokeHandlersImpl(object source = {System.Windows.Controls.TextBox}, System.Windows.RoutedEventArgs args = {System.Windows.Input.ExecutedRoutedEventArgs}, bool reRaised = false)    Unbekannt
     PresentationCore.dll!System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject sender = {System.Windows.Controls.TextBox}, System.Windows.RoutedEventArgs args = {System.Windows.Input.ExecutedRoutedEventArgs})    Unbekannt
     PresentationCore.dll!System.Windows.UIElement.RaiseTrustedEvent(System.Windows.RoutedEventArgs args = {System.Windows.Input.ExecutedRoutedEventArgs})    Unbekannt
     PresentationCore.dll!System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs args, bool trusted)    Unbekannt
     PresentationCore.dll!System.Windows.Input.RoutedCommand.ExecuteImpl(object parameter, System.Windows.IInputElement target, bool userInitiated)    Unbekannt
     PresentationCore.dll!System.Windows.Input.RoutedCommand.ExecuteCore(object parameter, System.Windows.IInputElement target, bool userInitiated)    Unbekannt
     PresentationCore.dll!System.Windows.Input.CommandManager.TranslateInput(System.Windows.IInputElement targetElement, System.Windows.Input.InputEventArgs inputEventArgs = {System.Windows.Input.KeyEventArgs})    Unbekannt
     PresentationCore.dll!System.Windows.UIElement.OnKeyDownThunk(object sender = {System.Windows.Controls.TextBox}, System.Windows.Input.KeyEventArgs e = {System.Windows.Input.KeyEventArgs})    Unbekannt
     PresentationCore.dll!System.Windows.Input.KeyEventArgs.InvokeEventHandler(System.Delegate genericHandler, object genericTarget)    Unbekannt
     PresentationCore.dll!System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate handler, object target)    Unbekannt
     PresentationCore.dll!System.Windows.RoutedEventHandlerInfo.InvokeHandler(object target, System.Windows.RoutedEventArgs routedEventArgs)    Unbekannt
     PresentationCore.dll!System.Windows.EventRoute.InvokeHandlersImpl(object source = {System.Windows.Controls.TextBox}, System.Windows.RoutedEventArgs args = {System.Windows.Input.KeyEventArgs}, bool reRaised = false)    Unbekannt
     PresentationCore.dll!System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject sender = {System.Windows.Controls.TextBox}, System.Windows.RoutedEventArgs args = {System.Windows.Input.KeyEventArgs})    Unbekannt
     PresentationCore.dll!System.Windows.UIElement.RaiseTrustedEvent(System.Windows.RoutedEventArgs args = {System.Windows.Input.KeyEventArgs})    Unbekannt
     PresentationCore.dll!System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs args, bool trusted)    Unbekannt
     PresentationCore.dll!System.Windows.Input.InputManager.ProcessStagingArea()    Unbekannt
     PresentationCore.dll!System.Windows.Input.InputManager.ProcessInput(System.Windows.Input.InputEventArgs input)    Unbekannt
     PresentationCore.dll!System.Windows.Input.InputProviderSite.ReportInput(System.Windows.Input.InputReport inputReport)    Unbekannt
     PresentationCore.dll!System.Windows.Interop.HwndKeyboardInputProvider.ReportInput(System.IntPtr hwnd, System.Windows.Input.InputMode mode, int timestamp, System.Windows.Input.RawKeyboardActions actions, int scanCode, bool isExtendedKey, bool isSystemKey, int virtualKey)    Unbekannt
     PresentationCore.dll!System.Windows.Interop.HwndKeyboardInputProvider.ProcessKeyAction(ref System.Windows.Interop.MSG msg, ref bool handled = false)    Unbekannt
     PresentationCore.dll!System.Windows.Interop.HwndKeyboardInputProvider.FilterMessage(System.IntPtr hwnd = 1967338, MS.Internal.Interop.WindowMessage message = WM_KEYFIRST, System.IntPtr wParam = 8, System.IntPtr lParam = 917505, ref bool handled = false)    Unbekannt
     PresentationCore.dll!System.Windows.Interop.HwndSource.InputFilterMessage(System.IntPtr hwnd = 1967338, int msg = 256, System.IntPtr wParam = 8, System.IntPtr lParam = 917505, ref bool handled = false)    Unbekannt
     WindowsBase.dll!MS.Win32.HwndWrapper.WndProc(System.IntPtr hwnd = 1967338, int msg = 256, System.IntPtr wParam = 8, System.IntPtr lParam = 917505, ref bool handled = false)    Unbekannt
     WindowsBase.dll!MS.Win32.HwndSubclass.DispatcherCallbackOperation(object o)    Unbekannt
     WindowsBase.dll!System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate callback, object args, int numArgs)    Unbekannt
     WindowsBase.dll!MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(object source = {System.Windows.Threading.Dispatcher}, System.Delegate method, object args, int numArgs, System.Delegate catchHandler = null)    Unbekannt
     WindowsBase.dll!System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority priority, System.TimeSpan timeout, System.Delegate method, object args, int numArgs)    Unbekannt
     WindowsBase.dll!MS.Win32.HwndSubclass.SubclassWndProc(System.IntPtr hwnd = 1967338, int msg = 256, System.IntPtr wParam = 8, System.IntPtr lParam = 917505)    Unbekannt