title: WPF VirtualizingStackPanel for increased performance
body: <p>I would like a simple description of how to implement a virtualizingstackpanel for an <code>ItemsControl</code> that is databound to an <code>ObservableCollection</code> in my MVVM.</p>
  
  <p>I have an <code>ItemsControl</code> instance for each tab in a tab control, and switching tabs becomes VERY slow when the <code>ItemsControl</code> grows larger. </p>
  
  <p>What can I do to speed up the app?</p>
  
  <p>I opened up a WPF profiler and saw that each element (which is a custom user control) displayed in my ItemsControl of each tab had its own <code>ContentPresenter</code>. So I essentially had 100 content presenters all running for 100 items in my <code>ObservableCollection</code> in MVVM. Is this corrrect? How can I optimize?</p>