IRawElementProviderSimple[] ITableProvider.GetColumnHeaders()
        {
            if ((this.OwningDataGrid.HeadersVisibility & DataGridHeadersVisibility.Column) == DataGridHeadersVisibility.Column)
            {
                List <IRawElementProviderSimple> providers = new List <IRawElementProviderSimple>();
                DataGridColumnHeadersPresenter   dataGridColumnHeadersPresenter = this.OwningDataGrid.ColumnHeadersPresenter;
                if (dataGridColumnHeadersPresenter != null)
                {
                    DataGridColumnHeadersPresenterAutomationPeer dataGridColumnHeadersPresenterPeer = dataGridColumnHeadersPresenter.GetAutomationPeer()  as DataGridColumnHeadersPresenterAutomationPeer;
                    if (dataGridColumnHeadersPresenterPeer != null)
                    {
                        for (int i = 0; i < this.OwningDataGrid.Columns.Count; i++)
                        {
                            AutomationPeer peer = dataGridColumnHeadersPresenterPeer.FindOrCreateItemAutomationPeer(this.OwningDataGrid.Columns[i]);
                            if (peer != null)
                            {
                                providers.Add(ProviderFromPeer(peer));
                            }
                        }

                        if (providers.Count > 0)
                        {
                            return(providers.ToArray());
                        }
                    }
                }
            }

            return(null);
        }
        IRawElementProviderSimple[] ITableProvider.GetColumnHeaders()
        {
            if ((this.OwningDataGrid.HeadersVisibility & DataGridHeadersVisibility.Column) == DataGridHeadersVisibility.Column)
            {
                List <IRawElementProviderSimple> providers = new List <IRawElementProviderSimple>();
                DataGridColumnHeadersPresenter   dataGridColumnHeadersPresenter = this.OwningDataGrid.ColumnHeadersPresenter;
                for (int i = 0; i < this.OwningDataGrid.Columns.Count; i++)
                {
                    DataGridColumnHeader dataGridColumnHeader = dataGridColumnHeadersPresenter.ItemContainerGenerator.ContainerFromIndex(i) as DataGridColumnHeader;
                    if (dataGridColumnHeader != null)
                    {
                        AutomationPeer peer = CreatePeerForElement(dataGridColumnHeader);
                        if (peer != null)
                        {
                            providers.Add(ProviderFromPeer(peer));
                        }
                    }
                }

                if (providers.Count > 0)
                {
                    return(providers.ToArray());
                }
            }

            return(null);
        }
Beispiel #3
0
        public void SynchronizeHeaderTextBoxes()
        {
            DataGridColumnHeadersPresenter presenter = null;

            var sv = this.Template.FindName("DG_ScrollViewer", this) as Control;

            if (sv != null)
            {
                presenter = sv.Template.FindName("PART_ColumnHeadersPresenter", sv) as DataGridColumnHeadersPresenter;
            }

            DataGridColumnHeader header = null;

            if (presenter != null)
            {
                for (var i = 0; i < this.Columns.Count; i++)
                {
                    header = (DataGridColumnHeader)presenter.ItemContainerGenerator.ContainerFromIndex(i);
                    if (header != null)
                    {
                        var tb         = FindVisualChildByName <TextBox>(header, "filterTextBox");
                        var columnName = header.Column.Header.ToString();
                        tb.Text = this.columnFilters.ContainsKey(columnName) ? this.columnFilters[columnName] : "";
                    }
                }
            }
        }
Beispiel #4
0
        /// <summary>
        /// Coercion callback for Height property.
        /// </summary>
        private static object OnCoerceHeight(DependencyObject d, object baseValue)
        {
            var            columnHeader = (DataGridColumnHeader)d;
            DataGridColumn column       = columnHeader.Column;
            DataGrid       dataGrid     = null;

            // Propagate style changes to any filler column headers.
            if (column == null)
            {
                DataGridColumnHeadersPresenter presenter = columnHeader.TemplatedParent as DataGridColumnHeadersPresenter;
                if (presenter != null)
                {
                    dataGrid = presenter.ParentDataGrid;
                }
            }
            else
            {
                dataGrid = column.DataGridOwner;
            }

            return(DataGridHelper.GetCoercedTransferPropertyValue(
                       columnHeader,
                       baseValue,
                       HeightProperty,
                       dataGrid,
                       DataGrid.ColumnHeaderHeightProperty));
        }
Beispiel #5
0
        public static DataGridColumnHeader GetColumnHeader(DataGrid dataGrid, int index)
        {
            DataGridColumnHeadersPresenter presenter = GetVisualChild <DataGridColumnHeadersPresenter>(dataGrid);

            if (presenter != null)
            {
                return((DataGridColumnHeader)presenter.ItemContainerGenerator.ContainerFromIndex(index));
            }

            return(null);
        }
Beispiel #6
0
        private IEnumerable <DataGridColumnHeader> GetDataGridColumnHeaders()
        {
            ScrollViewer viewer = GetScrollViewer();

            if (viewer != null)
            {
                DataGridColumnHeadersPresenter result = viewer.FindName("PART_ColumnHeadersPresenter") as DataGridColumnHeadersPresenter;
                result = viewer.FindFirstDescendantOfType <DataGridColumnHeadersPresenter>();
                return(result.FindDescendantsOfType <DataGridColumnHeader>());
            }
            return(new DataGridColumnHeader[0]);
        }
        // Token: 0x06002567 RID: 9575 RVA: 0x000B4000 File Offset: 0x000B2200
        protected override List <AutomationPeer> GetChildrenCore()
        {
            List <AutomationPeer>          list = base.GetChildrenCore();
            DataGridColumnHeadersPresenter columnHeadersPresenter = this.OwningDataGrid.ColumnHeadersPresenter;

            if (columnHeadersPresenter != null && columnHeadersPresenter.IsVisible)
            {
                AutomationPeer automationPeer = UIElementAutomationPeer.CreatePeerForElement(columnHeadersPresenter);
                if (automationPeer != null)
                {
                    if (list == null)
                    {
                        list = new List <AutomationPeer>(1);
                    }
                    list.Insert(0, automationPeer);
                }
            }
            return(list);
        }
        protected override List <AutomationPeer> GetChildrenCore()
        {
            List <AutomationPeer>          children = base.GetChildrenCore();
            DataGridColumnHeadersPresenter columnsHeaderPresenter = this.OwningDataGrid.ColumnHeadersPresenter;

            // Add ColumnsHeaderPresenter if it is visible
            if (columnsHeaderPresenter != null && columnsHeaderPresenter.IsVisible)
            {
                AutomationPeer columnsHeaderPresenterPeer = FrameworkElementAutomationPeer.CreatePeerForElement(columnsHeaderPresenter);
                if (columnsHeaderPresenterPeer != null)
                {
                    if (children == null)
                    {
                        children = new List <AutomationPeer>(1);
                    }
                    children.Insert(0, columnsHeaderPresenterPeer);
                }
            }

            return(children);
        }
        IRawElementProviderSimple[] ITableItemProvider.GetColumnHeaderItems()
        {
            if (this.OwningDataGrid != null &&
                (this.OwningDataGrid.HeadersVisibility & DataGridHeadersVisibility.Column) == DataGridHeadersVisibility.Column &&
                this.OwningDataGrid.ColumnHeadersPresenter != null)
            {
                DataGridColumnHeadersPresenter dataGridColumnHeadersPresenter = this.OwningDataGrid.ColumnHeadersPresenter;
                DataGridColumnHeader           dataGridColumnHeader           = dataGridColumnHeadersPresenter.ItemContainerGenerator.ContainerFromIndex(this.OwningDataGrid.Columns.IndexOf(_column)) as DataGridColumnHeader;
                if (dataGridColumnHeader != null)
                {
                    AutomationPeer peer = UIElementAutomationPeer.CreatePeerForElement(dataGridColumnHeader);
                    if (peer != null)
                    {
                        List <IRawElementProviderSimple> providers = new List <IRawElementProviderSimple>(1);
                        providers.Add(ProviderFromPeer(peer));
                        return(providers.ToArray());
                    }
                }
            }

            return(null);
        }
        public ColumnGroupPresentor(
            DataGrid ownerDataGrid,
            DataGridColumnHeadersPresenter ownerDataGridColumnHeadersPresenter,
            DataGridColumnsGroupBehaviour ownerBehaviour,
            ColumnsGroupInjectMode injectMode)
        {
            InjectMode     = injectMode;
            OwnerDataGrid  = ownerDataGrid;
            OwnerBehaviour = ownerBehaviour;
            TargetDataGridColumnHeadersPresenter = ownerDataGridColumnHeadersPresenter;
            TargetDataGridCellsPanel             = XamlUtils.FindFirstChild <DataGridCellsPanel>(ownerDataGridColumnHeadersPresenter);

            InitPanel();
            InformationMetaItems            = new List <InformationMetaItem>();
            QueryActualInformationMetaItems = InformationMetaItems
                                              .Where(x => x.Source.Column != null)
                                              .Where(x => x.Index > -1)
                                              .Where(x => x.Source.Visibility == Visibility.Visible)
                                              .OrderBy(x => x.Index);
            QueryFixedSizeItems = Enumerable.Empty <InformationMetaItem>();
            QueryColumnHeaders  = TargetDataGridCellsPanel.Children.OfType <DataGridColumnHeader>();

            Loaded += OnLoaded;
        }
 /// <summary>
 /// AutomationPeer for DataGridColumnHeadersPresenter
 /// </summary>
 /// <param name="owner">DataGridColumnHeadersPresenter</param>
 public DataGridColumnHeadersPresenterAutomationPeer(DataGridColumnHeadersPresenter owner)
     : base(owner)
 {
 }
 public static IObservable <EventPattern <MouseButtonEventArgs> > MouseUpObserver(this DataGridColumnHeadersPresenter This)
 {
     return(Observable.FromEventPattern <MouseButtonEventHandler, MouseButtonEventArgs>(h => This.MouseUp += h, h => This.MouseUp -= h));
 }
 public static IObservable <EventPattern <TouchEventArgs> > PreviewTouchDownObserver(this DataGridColumnHeadersPresenter This)
 {
     return(Observable.FromEventPattern <EventHandler <TouchEventArgs>, TouchEventArgs>(h => This.PreviewTouchDown += h, h => This.PreviewTouchDown -= h));
 }
 public static IObservable <EventPattern <QueryContinueDragEventArgs> > QueryContinueDragObserver(this DataGridColumnHeadersPresenter This)
 {
     return(Observable.FromEventPattern <QueryContinueDragEventHandler, QueryContinueDragEventArgs>(h => This.QueryContinueDrag += h, h => This.QueryContinueDrag -= h));
 }
        /// <summary>
        ///     OnTemplateChanged override
        /// </summary>
        protected override void OnTemplateChanged(ControlTemplate oldTemplate, ControlTemplate newTemplate)
        {
            base.OnTemplateChanged(oldTemplate, newTemplate);

            // Our column headers presenter comes from the template.  Clear out the reference to it if the template has changed
            ColumnHeadersPresenter = null;
        }
 public static IObservable <EventPattern <ManipulationBoundaryFeedbackEventArgs> > ManipulationBoundaryFeedbackObserver(this DataGridColumnHeadersPresenter This)
 {
     return(Observable.FromEventPattern <EventHandler <ManipulationBoundaryFeedbackEventArgs>, ManipulationBoundaryFeedbackEventArgs>(h => This.ManipulationBoundaryFeedback += h, h => This.ManipulationBoundaryFeedback -= h));
 }
 public static IObservable <EventPattern <ManipulationInertiaStartingEventArgs> > ManipulationInertiaStartingObserver(this DataGridColumnHeadersPresenter This)
 {
     return(Observable.FromEventPattern <EventHandler <ManipulationInertiaStartingEventArgs>, ManipulationInertiaStartingEventArgs>(h => This.ManipulationInertiaStarting += h, h => This.ManipulationInertiaStarting -= h));
 }
 public static IObservable <EventPattern <DependencyPropertyChangedEventArgs> > FocusableChangedObserver(this DataGridColumnHeadersPresenter This)
 {
     return(Observable.FromEventPattern <DependencyPropertyChangedEventHandler, DependencyPropertyChangedEventArgs>(h => This.FocusableChanged += h, h => This.FocusableChanged -= h));
 }
 public static IObservable <EventPattern <EventArgs> > LayoutUpdatedObserver(this DataGridColumnHeadersPresenter This)
 {
     return(Observable.FromEventPattern <EventHandler, EventArgs>(h => This.LayoutUpdated += h, h => This.LayoutUpdated -= h));
 }
 public static IObservable <EventPattern <TouchEventArgs> > TouchLeaveObserver(this DataGridColumnHeadersPresenter This)
 {
     return(Observable.FromEventPattern <EventHandler <TouchEventArgs>, TouchEventArgs>(h => This.TouchLeave += h, h => This.TouchLeave -= h));
 }
 public static IObservable <EventPattern <SizeChangedEventArgs> > SizeChangedObserver(this DataGridColumnHeadersPresenter This)
 {
     return(Observable.FromEventPattern <SizeChangedEventHandler, SizeChangedEventArgs>(h => This.SizeChanged += h, h => This.SizeChanged -= h));
 }
 public static IObservable <EventPattern <DragEventArgs> > PreviewDragLeaveObserver(this DataGridColumnHeadersPresenter This)
 {
     return(Observable.FromEventPattern <DragEventHandler, DragEventArgs>(h => This.PreviewDragLeave += h, h => This.PreviewDragLeave -= h));
 }
 public static IObservable <EventPattern <RequestBringIntoViewEventArgs> > RequestBringIntoViewObserver(this DataGridColumnHeadersPresenter This)
 {
     return(Observable.FromEventPattern <RequestBringIntoViewEventHandler, RequestBringIntoViewEventArgs>(h => This.RequestBringIntoView += h, h => This.RequestBringIntoView -= h));
 }
 public static IObservable <EventPattern <TextCompositionEventArgs> > TextInputObserver(this DataGridColumnHeadersPresenter This)
 {
     return(Observable.FromEventPattern <TextCompositionEventHandler, TextCompositionEventArgs>(h => This.TextInput += h, h => This.TextInput -= h));
 }
 public static IObservable <EventPattern <GiveFeedbackEventArgs> > GiveFeedbackObserver(this DataGridColumnHeadersPresenter This)
 {
     return(Observable.FromEventPattern <GiveFeedbackEventHandler, GiveFeedbackEventArgs>(h => This.GiveFeedback += h, h => This.GiveFeedback -= h));
 }
 public static IObservable <EventPattern <ContextMenuEventArgs> > ContextMenuClosingObserver(this DataGridColumnHeadersPresenter This)
 {
     return(Observable.FromEventPattern <ContextMenuEventHandler, ContextMenuEventArgs>(h => This.ContextMenuClosing += h, h => This.ContextMenuClosing -= h));
 }
 public static IObservable <EventPattern <ManipulationCompletedEventArgs> > ManipulationCompletedObserver(this DataGridColumnHeadersPresenter This)
 {
     return(Observable.FromEventPattern <EventHandler <ManipulationCompletedEventArgs>, ManipulationCompletedEventArgs>(h => This.ManipulationCompleted += h, h => This.ManipulationCompleted -= h));
 }
 public static IObservable <EventPattern <DragEventArgs> > DropObserver(this DataGridColumnHeadersPresenter This)
 {
     return(Observable.FromEventPattern <DragEventHandler, DragEventArgs>(h => This.Drop += h, h => This.Drop -= h));
 }
 public static IObservable <EventPattern <RoutedEventArgs> > UnloadedObserver(this DataGridColumnHeadersPresenter This)
 {
     return(Observable.FromEventPattern <RoutedEventHandler, RoutedEventArgs>(h => This.Unloaded += h, h => This.Unloaded -= h));
 }
 public static IObservable <EventPattern <ToolTipEventArgs> > ToolTipClosingObserver(this DataGridColumnHeadersPresenter This)
 {
     return(Observable.FromEventPattern <ToolTipEventHandler, ToolTipEventArgs>(h => This.ToolTipClosing += h, h => This.ToolTipClosing -= h));
 }
Beispiel #31
0
 /// <summary>
 /// AutomationPeer for DataGridColumnHeadersPresenter
 /// </summary>
 /// <param name="owner">DataGridColumnHeadersPresenter</param>
 public DataGridColumnHeadersPresenterAutomationPeer(DataGridColumnHeadersPresenter owner)
     : base(owner)
 {
 }
 public static IObservable <EventPattern <KeyboardFocusChangedEventArgs> > LostKeyboardFocusObserver(this DataGridColumnHeadersPresenter This)
 {
     return(Observable.FromEventPattern <KeyboardFocusChangedEventHandler, KeyboardFocusChangedEventArgs>(h => This.LostKeyboardFocus += h, h => This.LostKeyboardFocus -= h));
 }