I'm using WPF/.NET 4 and when I add the VirtualizingStackPanel.VirtualizationMode="Recycling" property to my ListBoxes, it causes the same list items to be repeated over and over when scrolling. For example, let's say I have a ListBox with 100 items and 10 are visible at a time. When the ListBox first loads I see items 1 - 10, but when I start scrolling down to see the remaining items 11 - 100, items 1 - 10 are repeated over and over as I scroll down, so I'm never able to view items 11 - 100. If I change Recycling back to Standard, then everything works correctly, but the scrolling is horribly slow (my ListItems are fairly complex, with several images, text fields, and buttons in them). When Recycling is on, the scrolling is super fast, but I can only ever view items 1 - 10. Any ideas on what's wrong or how to fix it? Thanks in advance.
WPF ListBox VirtualizingStackPanel.VirtualizationMode="Recycling" causes same list items to always appear
3.3k Views Asked by deadlydog At
1
There are 1 best solutions below
Related Questions in .NET
- Asp.Net 5 correct way to access logging config file from Startup.cs
- How and Where to tell if a ViewComponent has been invoked x times in a view?
- Unable to utilize UrlHelper
- IdentityManager with VNext
- How to output css to kestrel in OS X using Visual Studio Code
- How to configure email settings in ASP.NET 5?
- Override site binding using VS2015 and IIS Express
- Setting IIS Settings in Web.config using ASP.NET MVC 6
- HTTP Error 403.14 in ASP.NET5 MVC6
- What is first class mechanism in EF?
Related Questions in WPF
- Asp.Net 5 correct way to access logging config file from Startup.cs
- How and Where to tell if a ViewComponent has been invoked x times in a view?
- Unable to utilize UrlHelper
- IdentityManager with VNext
- How to output css to kestrel in OS X using Visual Studio Code
- How to configure email settings in ASP.NET 5?
- Override site binding using VS2015 and IIS Express
- Setting IIS Settings in Web.config using ASP.NET MVC 6
- HTTP Error 403.14 in ASP.NET5 MVC6
- What is first class mechanism in EF?
Related Questions in LISTBOX
- Asp.Net 5 correct way to access logging config file from Startup.cs
- How and Where to tell if a ViewComponent has been invoked x times in a view?
- Unable to utilize UrlHelper
- IdentityManager with VNext
- How to output css to kestrel in OS X using Visual Studio Code
- How to configure email settings in ASP.NET 5?
- Override site binding using VS2015 and IIS Express
- Setting IIS Settings in Web.config using ASP.NET MVC 6
- HTTP Error 403.14 in ASP.NET5 MVC6
- What is first class mechanism in EF?
Related Questions in VIRTUALIZATION
- Asp.Net 5 correct way to access logging config file from Startup.cs
- How and Where to tell if a ViewComponent has been invoked x times in a view?
- Unable to utilize UrlHelper
- IdentityManager with VNext
- How to output css to kestrel in OS X using Visual Studio Code
- How to configure email settings in ASP.NET 5?
- Override site binding using VS2015 and IIS Express
- Setting IIS Settings in Web.config using ASP.NET MVC 6
- HTTP Error 403.14 in ASP.NET5 MVC6
- What is first class mechanism in EF?
Related Questions in RECYCLE
- Asp.Net 5 correct way to access logging config file from Startup.cs
- How and Where to tell if a ViewComponent has been invoked x times in a view?
- Unable to utilize UrlHelper
- IdentityManager with VNext
- How to output css to kestrel in OS X using Visual Studio Code
- How to configure email settings in ASP.NET 5?
- Override site binding using VS2015 and IIS Express
- Setting IIS Settings in Web.config using ASP.NET MVC 6
- HTTP Error 403.14 in ASP.NET5 MVC6
- What is first class mechanism in EF?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Recycling Mode works, as it name implies, by reusing rendered ListBoxItems. When a ListBox item is no longer needed to display an item that has scrolled off the list, the ListBox will reuse it to display one that has scrolled into view.
To change what the ListBoxItem is displaying, the ListBox simply sets its DataContext property to the new item. This requires that the contents of the ListBoxItem have to respond correctly to DataContextChanged events. If you are using only using databinding to populate the controls, this will happen automatically. But if, as your comment implies, you are using some code-behind to update the properties, then you need to make sure that your event handling code is doing the job.