コード例 #1
0
        internal int GetCellIndexAtLocation(Point loc)
        {
            var uie = InputHitTest(loc) as FrameworkElement;

            if (uie == null)
            {
                return(-1);
            }

            var rowPresenter = TableViewUtils.GetAncestorByType <TableViewCellsPresenter>(uie);

            if (rowPresenter == null)
            {
                return(-1);
            }

            var cell = TableViewUtils.FindParent <TableViewCell>(uie);

            if (cell != null)
            {
                return(rowPresenter.ItemContainerGenerator.IndexFromContainer(cell));
            }

            return(-1);
        }
コード例 #2
0
        protected override void OnIsItemsHostChanged(bool oldIsItemsHost, bool newIsItemsHost)
        {
            base.OnIsItemsHostChanged(oldIsItemsHost, newIsItemsHost);

            var rowPresenter = TableViewUtils.FindParent <TableViewCellsPresenter>(this);

            if (rowPresenter == null)
            {
                return;
            }

            rowPresenter.CellsPanel = this;
            ParentTableView         = rowPresenter.ParentTableView;
            Style = ParentTableView.CellsPanelStyle;
        }
コード例 #3
0
        internal TableViewColumnHeader GetColumnHeaderAtLocation(Point loc)
        {
            var uie = InputHitTest(loc) as FrameworkElement;

            return(uie != null?TableViewUtils.FindParent <TableViewColumnHeader>(uie) : null);
        }