static void OnIsEnabledChanged( object sender, DependencyPropertyChangedEventArgs e ) { TreeViewItem item = sender as TreeViewItem; if( item != null ) { if( (bool)e.NewValue ) { item.Selected += new RoutedEventHandler( OnSelected ); RealizeChildren( item as ItemsControl ); } else { item.Selected -= new RoutedEventHandler( OnSelected ); } } }