Example #1
0
        void OnOwnerMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            if (doNotProcessMouse)
            {
                return;
            }
            HitTestResult    result  = VisualTreeHelper.HitTest(this.owner, e.GetPosition(this.owner));
            UIElement        element = result == null ? null : result.VisualHit as UIElement;
            DependencyObject dom     = element == null ? null : LayoutHelper.FindLayoutOrVisualParentObject(element, d => GetOverrideManipulation(d));

            if (dom != null)
            {
                return;
            }
            if (!this.owner.CaptureMouse())
            {
                return;
            }
            mouseMoveHandled            = false;
            e.Handled                   = true;
            this.lastPosition           = e.GetPosition(this.owner);
            this.manipulationInProgress = true;
        }
Example #2
0
        private void OnGridControlClicked(object sender, MouseButtonEventArgs e)
        {
            var columnHeader = LayoutHelper.FindLayoutOrVisualParentObject((DependencyObject)e.OriginalSource, typeof(GridColumnHeader)) as GridColumnHeader;

            if (columnHeader == null || Model == null || Model.WorkInProgress)
            {
                return;
            }

            var clickedColumn = (GridColumn)columnHeader.DataContext;

            if (clickedColumn.Tag == null)
            {
                return;
            }

            ClearSortExcept(columnHeader);

            var             sortUpControl   = (ColumnHeaderSortIndicatorControl)_sortUpProperty.GetValue(columnHeader, null);
            var             sortDownControl = (ColumnHeaderSortIndicatorControl)_sortDownProperty.GetValue(columnHeader, null);
            ColumnSortOrder sort;

            if (sortUpControl.Visibility != Visibility.Visible)
            {
                sortUpControl.Visibility   = Visibility.Visible;
                sortDownControl.Visibility = Visibility.Hidden;
                sort = ColumnSortOrder.Ascending;
            }
            else
            {
                sortUpControl.Visibility   = Visibility.Hidden;
                sortDownControl.Visibility = Visibility.Visible;
                sort = ColumnSortOrder.Descending;
            }

            SortData(clickedColumn, sort);
        }
Example #3
0
 protected override FrameworkElement FindParent(object sender, DependencyObject originalSource)
 {
     return(LayoutHelper.FindLayoutOrVisualParentObject(originalSource, x => CheckItemType(sender)(x), true, (DependencyObject)sender) as FrameworkElement);
 }
 bool IsScrollContentPresenterAndHasRowPresenterGridAsParent(FrameworkElement e)
 {
     return(IsScrollContentPresenter(e) && LayoutHelper.FindLayoutOrVisualParentObject(e, IsRowPresenterGrid) != null);
 }