コード例 #1
0
        private static void OnCollapseModePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            CollapsableGridSplitter s = d as CollapsableGridSplitter;

            GridSplitterCollapseMode value = (GridSplitterCollapseMode)e.NewValue;

            s.OnCollapseModeChanged(value);
        }
コード例 #2
0
        /// <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);
                    }
                }
            }
        }
コード例 #3
0
ファイル: GridSplitter.cs プロジェクト: senfo/snaglV2
        /// <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);
                        }
                    }

                }
        }
コード例 #4
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;
     }
 }