bohdan_trotsenko
bohdan_trotsenko

Reputation: 5367

Inheriting System.Windows.Controls.Panel

I use the Panel to provide custom layout of UIElements.
For this, I override MeasureOverride and ArrangeOverride. In ArrangeOverride proper locations are given to Children.

In my application, there is a bunch of rather heavy (by number of visuals) children inside the panel, but only 2 of them are located inside the visible region at a time.

Working with my application I feel like all the visuals are drown.

I need to introduce a kind of 'virtualization' and make the children render (or take CPU cycles) selectively.

How do I?

Upvotes: 0

Views: 312

Answers (2)

Bubblewrap
Bubblewrap

Reputation: 7526

If your panel is placed inside a ScrollViewer, you can implement IScrollInfo.
Can be quite a bit of code though, but there a couple of blogs out there with examples, for example here and here

I found that this blog post describes more closely what you're trying to accomplish, though not exactly.

Upvotes: 0

Andrew Jackson
Andrew Jackson

Reputation: 774

Have a look at this topic: WPF VirtualizingStackPanel for increased performance

Upvotes: 1

Related Questions