private static void OnCollapseModePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { CollapsableGridSplitter s = d as CollapsableGridSplitter; GridSplitterCollapseMode value = (GridSplitterCollapseMode)e.NewValue; s.OnCollapseModeChanged(value); }
/// <summary> /// Handles the property change event of the CollapseMode property. /// </summary> /// <param name="collapseMode">The new value for the CollapseMode property.</param> protected virtual void OnCollapseModeChanged(GridSplitterCollapseMode collapseMode) { // Hide the handles if the CollapseMode is set to None. if (collapseMode == GridSplitterCollapseMode.None) { if (_elementHorizontalGridSplitterHandle != null) { _elementHorizontalGridSplitterHandle.Visibility = Visibility.Collapsed; } if (_elementVerticalGridSplitterHandle != null) { _elementVerticalGridSplitterHandle.Visibility = Visibility.Collapsed; } } else { // Ensure the handles are Visible. if (_elementHorizontalGridSplitterHandle != null) { _elementHorizontalGridSplitterHandle.Visibility = Visibility.Visible; } if (_elementVerticalGridSplitterHandle != null) { _elementVerticalGridSplitterHandle.Visibility = Visibility.Visible; } //TODO: Add in error handling if current tempalte does not include an existing ScaleTransform. // Rotate the direction that the handle is facing depending on the CollapseMode. if (collapseMode == GridSplitterCollapseMode.Previous) { if (_elementHorizontalGridSplitterHandle != null) { _elementHorizontalGridSplitterHandle.RenderTransform.SetValue(ScaleTransform.ScaleYProperty, -1.0); } if (_elementVerticalGridSplitterHandle != null) { _elementVerticalGridSplitterHandle.RenderTransform.SetValue(ScaleTransform.ScaleXProperty, -1.0); } } else if (collapseMode == GridSplitterCollapseMode.Next) { if (_elementHorizontalGridSplitterHandle != null) { _elementHorizontalGridSplitterHandle.RenderTransform.SetValue(ScaleTransform.ScaleYProperty, 1.0); } if (_elementVerticalGridSplitterHandle != null) { _elementVerticalGridSplitterHandle.RenderTransform.SetValue(ScaleTransform.ScaleXProperty, 1.0); } } } }
protected virtual void OnCollapseModeChanged(GridSplitterCollapseMode collapseMode) { if (_elementVerticalGridSplitterButton != null) { _elementVerticalGridSplitterButton.Visibility = Visibility.Visible; } switch (collapseMode) { case GridSplitterCollapseMode.Next: if (_elementVerticalGridSplitterButton != null) { } break; case GridSplitterCollapseMode.Previous: if (_elementVerticalGridSplitterButton != null) { } break; } }