Unplanned
Last Updated: 26 Mar 2024 16:08 by Giuliano
Some items are not rendered when the collection changed of the Items collection of the panel occurs with Move action. Some situations where this can happen are calling the Move() method of observable collection or using the live sorting feature of ListCollectionView, which internally moves the items.
Completed
Last Updated: 11 Mar 2024 07:36 by ADMIN
Release 2024.1.312
The overridden OnItemsChanged event with NotifyCollectionChangedAction.Remove does not correctly remove the items.
Completed
Last Updated: 08 Sep 2022 09:58 by ADMIN
Release R3 2022

Subject

When using a RadListBox with a VirtualizingWrapPanel as ItemsPanel and the ScrollUnit is set to Pixel, the previously selected item stays like an overlay that can be interacted with if the ItemWidth and ItemHeight are changed.

Attached Files

The attached files contain a demo application, which is a minimal sample to reproduce the problem. Due to the file upload size limitation, the referenced Telerik DLLs for the sample project are not contained.

Description

Exemplary Scenario

A RadListBox with a VirtualizingWrapPanel as ItemsPanel is used to display a collection of strings. The ScrollUnit is set to Pixel. The size of the items can be adjusted with a button that toggles these sizes: Small, Medium and Large. The current size is displayed in a TextBlock. The sizes are defined as an enum and mapped to ItemWidth and ItemHeight in a Style.

 

Steps to Reproduce

  1. Start the application.
  2. Scroll an item into the center of the viewport, leaving space around it.


  3. Select the item.
  4. Click the "Toggle Layout" button.

Result

The previously selected item in its original size still exists, is selected, immovable and clickable.

Expectation

All items are displayed using the new size and the corresponding item is selected. There are no duplicate items or leftover items with the previous size.

Issue Characteristics

  • Only occurs when ScrollUnit is set to Pixel.
  • Occurs in multiple themes like Office2016, Office2019, Windows11, but not in Fluent.
  • The repro steps can be repeated multiple times which will lead to multiple different overlays.
  • An item must be in the center of the viewport. With items on the edge of the RadListBox like Item 1 or others that are selected from below and are scrolled into view to the bottom edge of the viewport, the issue is not reproducible.
  • Is reproducible at least since Telerik UI for WPF 2022.1.222, including the current Version 2022.2.621.
Completed
Last Updated: 05 Aug 2022 15:55 by Jason
Release LIB 2022.2.808 (8 Aug 2022)
In a grouped scenario, when removing items from the source collection, multiple items can be removed from the VirtualizingWrapPanel causing gaps to appear in the items. 
Completed
Last Updated: 31 May 2021 07:32 by ADMIN
Release LIB 2020.3.1123 (11/23/2021)
Created by: Imploded
Comments: 1
Category: VirtualizingWrapPanel
Type: Bug Report
1

Hello,

Since I updated to the most recent version of your controls, I can see that many of my users get a DivideByZero exception.

I have not made any changes at all to my code, and unfortunately I cannot reproduce it.

It's reported a couple of times per day though via our uncaught exception tracker.

The callstack is:

System.DivideByZeroException: Attempted to divide by zero.
at Telerik.Windows.Controls.VirtualizingWrapPanel.GetPosition(System.Int32 index, System.Int32 itemsInDirection) at offset 0 at Telerik.Windows.Controls.VirtualizingWrapPanel.Telerik.Windows.Controls.Internal.IPanelKeyboardHelper.GetOffsets(System.Int32 index) at offset 0 at Telerik.Windows.Controls.Internal.PanelHelper.<>c__DisplayClass2.<MakeVisible>b__0() at offset 208 at Telerik.Windows.Controls.Internal.PanelHelper.ResumeExecution() at offset 27 at Telerik.Windows.Controls.Primitives.ListControl.OnScrollViewerLoaded(System.Object sender, System.Windows.RoutedEventArgs e) at offset 0 at System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object target, System.Windows.RoutedEventArgs routedEventArgs) at offset 0 at System.Windows.EventRoute.InvokeHandlersImpl(System.Object source, System.Windows.RoutedEventArgs args, System.Boolean reRaised) at offset 230 at System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject sender, System.Windows.RoutedEventArgs args) at offset 87 at System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs e) at offset 20 at System.Windows.BroadcastEventHelper.BroadcastEvent(System.Windows.DependencyObject root, System.Windows.RoutedEvent routedEvent) at offset 71 at System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(System.Object root) at offset 38 at MS.Internal.LoadedOrUnloadedOperation.DoWork() at offset 8 at System.Windows.Media.MediaContext.FireLoadedPendingCallbacks() at offset 42 at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks() at offset 88 at System.Windows.Media.MediaContext.RenderMessageHandlerCore(System.Object resizedCompositionTarget) at offset 92 at System.Windows.Media.MediaContext.RenderMessageHandler(System.Object resizedCompositionTarget) at offset 46 at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate callback, System.Object args, System.Int32 numArgs) at offset 119 at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object source, System.Delegate callback, System.Object args, System.Int32 numArgs, System.Delegate catchHandler) at offset 2

Is this a known bug? As you can see it's thrown from your components.

Completed
Last Updated: 07 Apr 2021 05:31 by ADMIN
Release LIB 2021.1.412 (12/04/2021)
Completed
Last Updated: 01 Oct 2020 05:02 by ADMIN
Release LIB 2020.3.1005 (10/05/2020)
When an item in the visible area is selected, the scrollbar jumps to another location.
Completed
Last Updated: 10 Jul 2020 05:40 by ADMIN
Release LIB 2020.2.713 (7/13/2020)

This behavior is reproducible when the ItemHeight and ItemWidth properties are changed runtime. When thеse properties are changing, and an item is removed, its container is still presenting in the UI, which leads to an empty container.

 

Completed
Last Updated: 07 May 2020 08:50 by ADMIN
Release R2 2020
This exception is thrown when the user is removing items from the collection in a Drag-Drop behavior.
Won't Fix
Last Updated: 30 Mar 2020 10:10 by ADMIN
The panel allocates empty space for items that are hidden by setting their Visibility to Collapsed. Such items should be ignored when the panel arranges its items.

To work this around, instead of the Visibility property, you can remove and add the items in the ItemSource collection whenever you need to toggle their visibility.
Completed
Last Updated: 27 Mar 2020 06:10 by ADMIN
Release LIB 2020.1.330 (03/30/2020)

I you add an item and remove an item from the items source of the panel's host, empty spaces are drawn. 

This is reproducible only when using the .NET 4.5 version of Telerik UI for WPF.

To resolve this, avoid using the VirtualizingWrapPanel, or use the .NET 4 version of the Telerik dlls.

Completed
Last Updated: 01 Oct 2019 10:51 by ADMIN
ADMIN
Created by: Vlad
Comments: 0
Category: VirtualizingWrapPanel
Type: Feature Request
18
VirtualizingWrapPanel with grouping
Completed
Last Updated: 09 Sep 2019 08:02 by ADMIN
Release R3 2019
ADMIN
Created by: Ivan Ivanov
Comments: 3
Category: VirtualizingWrapPanel
Type: Feature Request
7

			
Unplanned
Last Updated: 08 Nov 2017 13:09 by ADMIN
This is similar to the native VirtualizingStackPanel which has a CleanUpVirtualizedItem attached event.
https://msdn.microsoft.com/en-us/library/system.windows.controls.virtualizingstackpanel.cleanupvirtualizeditem(v=vs.110).aspx
Unplanned
Last Updated: 08 Nov 2017 13:01 by ADMIN
ADMIN
Created by: Martin Ivanov
Comments: 0
Category: VirtualizingWrapPanel
Type: Feature Request
0
Currently, the panel will create containers for the first item that should be shown before the viewport start and the last item that should be shown after the viewport. Here we talk about containers outside of the viewport. This is defined in the implementation of the panel and it cannot be changed. 

Allow setting the number of visual items that can be generated out of the viewport. Or maybe pixel size. Similar to the attached properties of VirtualizingPanel (CacheLength and CacheLengthUnit). May be we can use them as well.(https://msdn.microsoft.com/en-us/library/system.windows.controls.virtualizingpanel.cachelength(v=vs.110).aspx)

Note: The cache is the amount of space above or below the viewport in which items are not virtualized. 
Unplanned
Last Updated: 30 Jan 2017 15:25 by ADMIN
ADMIN
Created by: Ivan Ivanov
Comments: 0
Category: VirtualizingWrapPanel
Type: Feature Request
1
Setting HorizontalAlignment to VirtualizingWrapPanel is not properly reflected in the UI.
Unplanned
Last Updated: 04 Aug 2016 09:46 by ADMIN
Completed
Last Updated: 13 Jul 2016 12:37 by ADMIN
ADMIN
Created by: Nick
Comments: 4
Category: VirtualizingWrapPanel
Type: Bug Report
4