/// <summary>
 /// Raises an Expanded event when the IsExpanded property changes from
 /// false to true.
 /// </summary>
 /// <param name="e">Event arguments.</param>
 protected override void OnExpanded(RoutedEventArgs e)
 {
     ExpandedActions.DoPreTest(e);
     base.OnExpanded(e);
     ExpandedActions.DoTest(e);
 }
 /// <summary>
 /// Prepares the specified container to display the specified item.
 /// </summary>
 /// <param name="element">
 /// Container element used to display the specified item.
 /// </param>
 /// <param name="item">Specified item to display.</param>
 protected override void PrepareContainerForItemOverride(DependencyObject element, object item)
 {
     PrepareContainerForItemOverrideActions.DoPreTest(element, item);
     base.PrepareContainerForItemOverride(element, item);
     PrepareContainerForItemOverrideActions.DoTest(element, item);
 }
 /// <summary>
 /// Handle the MouseLeftButtonUp event.
 /// </summary>
 /// <param name="e">Event arguments.</param>
 protected override void OnMouseLeftButtonUp(MouseButtonEventArgs e)
 {
     MouseLeftButtonUpActions.DoPreTest(e);
     base.OnMouseLeftButtonUp(e);
     MouseLeftButtonUpActions.DoTest(e);
 }
 /// <summary>
 /// Apply a control template to the TreeViewItem and update its visual
 /// state.
 /// </summary>
 public override void OnApplyTemplate()
 {
     ApplyTemplateActions.DoPreTest();
     base.OnApplyTemplate();
     ApplyTemplateActions.DoTest();
 }
 /// <summary>
 /// Handle the KeyUp event.
 /// </summary>
 /// <param name="e">Event arguments.</param>
 protected override void OnKeyUp(KeyEventArgs e)
 {
     KeyUpActions.DoPreTest(e);
     base.OnKeyUp(e);
     KeyUpActions.DoTest(e);
 }
 /// <summary>
 /// Handle the MouseMove event.
 /// </summary>
 /// <param name="e">Event arguments.</param>
 protected override void OnMouseMove(MouseEventArgs e)
 {
     MouseMoveActions.DoPreTest(e);
     base.OnMouseMove(e);
     MouseMoveActions.DoTest(e);
 }
 /// <summary>
 /// Handle changes to the Items collection.
 /// </summary>
 /// <param name="e">Event arguments.</param>
 protected override void OnItemsChanged(NotifyCollectionChangedEventArgs e)
 {
     OnItemsChangedActions.DoPreTest(e);
     base.OnItemsChanged(e);
     OnItemsChangedActions.DoTest(e);
 }
 /// <summary>
 /// Handle the LostFocus event.
 /// </summary>
 /// <param name="e">Event arguments.</param>
 protected override void OnLostFocus(RoutedEventArgs e)
 {
     LostFocusActions.DoPreTest(e);
     base.OnLostFocus(e);
     LostFocusActions.DoTest(e);
 }
 /// <summary>
 /// Undoes the effects of PrepareContainerForItemOverride.
 /// </summary>
 /// <param name="element">The container element.</param>
 /// <param name="item">The contained item.</param>
 protected override void ClearContainerForItemOverride(DependencyObject element, object item)
 {
     ClearContainerForItemOverrideActions.DoPreTest(element, item);
     base.ClearContainerForItemOverride(element, item);
     ClearContainerForItemOverrideActions.DoTest(element, item);
 }
 /// <summary>
 /// Called when the HeaderTemplate property changes.
 /// </summary>
 /// <param name="oldHeaderTemplate">
 /// The old value of the HeaderTemplate property.
 /// </param>
 /// <param name="newHeaderTemplate">
 /// The new value of the HeaderTemplate property.
 /// </param>
 protected override void OnHeaderTemplateChanged(DataTemplate oldHeaderTemplate, DataTemplate newHeaderTemplate)
 {
     HeaderTemplateChangedActions.DoPreTest(oldHeaderTemplate, newHeaderTemplate);
     base.OnHeaderTemplateChanged(oldHeaderTemplate, newHeaderTemplate);
     HeaderTemplateChangedActions.DoTest(oldHeaderTemplate, newHeaderTemplate);
 }
 /// <summary>
 /// Called when the Header property of a HeaderedItemsControl changes.
 /// </summary>
 /// <param name="oldHeader">
 /// The old value of the Header property.
 /// </param>
 /// <param name="newHeader">
 /// The new value of the Header property.
 /// </param>
 protected override void OnHeaderChanged(object oldHeader, object newHeader)
 {
     HeaderChangedActions.DoPreTest(oldHeader, newHeader);
     base.OnHeaderChanged(oldHeader, newHeader);
     HeaderChangedActions.DoTest(oldHeader, newHeader);
 }
 /// <summary>
 /// Raises the Unselected event when the IsSelected property changes
 /// from true to false.
 /// </summary>
 /// <param name="e">Event arguments.</param>
 protected override void OnUnselected(RoutedEventArgs e)
 {
     UnselectedActions.DoPreTest(e);
     base.OnUnselected(e);
     UnselectedActions.DoTest(e);
 }
 /// <summary>
 /// Raises a Collapsed event when the IsExpanded property changes from
 /// true to false.
 /// </summary>
 /// <param name="e">Event arguments.</param>
 protected override void OnCollapsed(RoutedEventArgs e)
 {
     CollapsedActions.DoPreTest(e);
     base.OnCollapsed(e);
     CollapsedActions.DoTest(e);
 }