// Token: 0x06005F75 RID: 24437 RVA: 0x001ABF24 File Offset: 0x001AA124
        private static void OnSelectiveScrollingOrientationChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            UIElement uielement = d as UIElement;
            SelectiveScrollingOrientation selectiveScrollingOrientation = (SelectiveScrollingOrientation)e.NewValue;
            ScrollViewer scrollViewer = DataGridHelper.FindVisualParent <ScrollViewer>(uielement);

            if (scrollViewer != null && uielement != null)
            {
                Transform renderTransform = uielement.RenderTransform;
                if (renderTransform != null)
                {
                    BindingOperations.ClearBinding(renderTransform, TranslateTransform.XProperty);
                    BindingOperations.ClearBinding(renderTransform, TranslateTransform.YProperty);
                }
                if (selectiveScrollingOrientation == SelectiveScrollingOrientation.Both)
                {
                    uielement.RenderTransform = null;
                    return;
                }
                TranslateTransform translateTransform = new TranslateTransform();
                if (selectiveScrollingOrientation != SelectiveScrollingOrientation.Horizontal)
                {
                    Binding binding = new Binding("ContentHorizontalOffset");
                    binding.Source = scrollViewer;
                    BindingOperations.SetBinding(translateTransform, TranslateTransform.XProperty, binding);
                }
                if (selectiveScrollingOrientation != SelectiveScrollingOrientation.Vertical)
                {
                    Binding binding2 = new Binding("ContentVerticalOffset");
                    binding2.Source = scrollViewer;
                    BindingOperations.SetBinding(translateTransform, TranslateTransform.YProperty, binding2);
                }
                uielement.RenderTransform = translateTransform;
            }
        }
Пример #2
0
 // Token: 0x0600424F RID: 16975 RVA: 0x0012F4C8 File Offset: 0x0012D6C8
 public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
 {
     if (value is bool && parameter is SelectiveScrollingOrientation)
     {
         bool flag = (bool)value;
         SelectiveScrollingOrientation selectiveScrollingOrientation = (SelectiveScrollingOrientation)parameter;
         if (flag)
         {
             return(selectiveScrollingOrientation);
         }
     }
     return(SelectiveScrollingOrientation.Both);
 }
Пример #3
0
        /// <summary>
        /// Property changed call back for SelectiveScrollin----entation property
        /// </summary>
        /// <param name="d"></param>
        /// <param name="e"></param>
        private static void OnSelectiveScrollingOrientationChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            UIElement element = d as UIElement;
            SelectiveScrollingOrientation orientation = (SelectiveScrollingOrientation)e.NewValue;
            ScrollViewer scrollViewer = DataGridHelper.FindVisualParent <ScrollViewer>(element);

            if (scrollViewer != null && element != null)
            {
                Transform transform = element.RenderTransform;

                if (transform != null)
                {
                    BindingOperations.ClearBinding(transform, TranslateTransform.XProperty);
                    BindingOperations.ClearBinding(transform, TranslateTransform.YProperty);
                }

                if (orientation == SelectiveScrollingOrientation.Both)
                {
                    element.RenderTransform = null;
                }
                else
                {
                    TranslateTransform translateTransform = new TranslateTransform();

                    // Add binding to XProperty of transform if orientation is not horizontal
                    if (orientation != SelectiveScrollingOrientation.Horizontal)
                    {
                        Binding horizontalBinding = new Binding("ContentHorizontalOffset");
                        horizontalBinding.Source = scrollViewer;
                        BindingOperations.SetBinding(translateTransform, TranslateTransform.XProperty, horizontalBinding);
                    }

                    // Add binding to YProperty of transfrom if orientation is not vertical
                    if (orientation != SelectiveScrollingOrientation.Vertical)
                    {
                        Binding verticalBinding = new Binding("ContentVerticalOffset");
                        verticalBinding.Source = scrollViewer;
                        BindingOperations.SetBinding(translateTransform, TranslateTransform.YProperty, verticalBinding);
                    }

                    element.RenderTransform = translateTransform;
                }
            }
        }
 /// <summary>
 /// Setter for the SelectiveScrollingOrientation attached property
 /// </summary>
 /// <param name="obj"></param>
 /// <param name="value"></param>
 public static void SetSelectiveScrollingOrientation(DependencyObject obj, SelectiveScrollingOrientation value)
 {
     obj.SetValue(SelectiveScrollingOrientationProperty, value);
 }
Пример #5
0
 /// <summary>
 /// Setter for the SelectiveScrollin----entation attached property
 /// </summary>
 /// <param name="obj"></param>
 /// <param name="value"></param>
 public static void SetSelectiveScrollingOrientation(DependencyObject obj, SelectiveScrollingOrientation value)
 {
     obj.SetValue(SelectiveScrollingOrientationProperty, value);
 }