why setting ScrollViewer.CanContentScroll to false disable virtualization

“ScrollViewer currently allows two scrolling modes: smooth pixel-by-pixel scrolling (CanContentScroll = false) or discrete item-by-item scrolling (CanContentScroll = true). Currently WPF supports UI virtualization only when scrolling by item. Pixel-based scrolling is also called “physical scrolling” and item-based scrolling is also called “logical scrolling”.” Virtualization requires an item-based scrolling so it can keep track of … Read more

Cross-browser testing: All major browsers on ONE machine

Contents Which browsers have to be tested? Rules of thumb: Which browsers should be included? Preparation Windows XP Windows 7+ (for IE9+) Browser downloads Internet Explorer Firefox Opera Chrome Safari Adobe Flash Player Download summary Sandboxie Part 2: Installation and configuration Internet Explorer Firefox Opera Chrome Safari Developer tools (and shortcuts) Measured set-up time and … Read more

What are the differences between virtual memory and physical memory?

Softwares run on the OS on a very simple premise – they require memory. The device OS provides it in the form of RAM. The amount of memory required may vary – some softwares need huge memory, some require paltry memory. Most (if not all) users run multiple applications on the OS simultaneously, and given … Read more

What do I do when launching an application triggers repeating, endless Windows Installer self-repair?

Self-Repair, Simple & Short Explanation: Why does the MSI installer reconfigure if I delete a file? Concrete Design Advice for your WiX / MSI File I keep trying to write about repeating MSI self-repair for developers, but end up with too much detail. Here is my last attempt: concrete design advice for what not to … Read more

Virtualizing an ItemsControl?

There’s actually much more to it than just making the ItemsPanelTemplate use VirtualizingStackPanel. The default ControlTemplate for ItemsControl does not have a ScrollViewer, which is the key to virtualization. Adding to the the default control template for ItemsControl (using the control template for ListBox as a template) gives us the following: <ItemsControl ItemsSource=”{Binding AccountViews.Tables[0]}”> <ItemsControl.ItemTemplate> … Read more