title: TreeView Items changed event
body: <p>To add multi select support to the native WPF tree view I had to add a custom dependency property which stores the multi selected items. This works great until the tree's Items started to change. </p>
  
  <p>For example in the initial tree there is one item A. I selected it, it gets stored in <code>MultiSelectedItems</code> list. Then I removed item A and added item B. (through ViewModel <code>ObservableCollection</code> binding)</p>
  
  <p>I need to find a way to remove item A from <code>MultiSelectedItems</code> list when this happens.</p>
  
  <p>I am unable to find an event for this. The closest I get is <code>ItemContainerGenerator.ItemsChanged</code> event, but this event only fires for root level nodes (does not fire for its hierarchy children).</p>