public void onDragDelta(object sender, DragDeltaEventArgs e)
        {
            var tvch = TableViewUtils.GetAncestorByType <TableViewColumnHeader>(this);

            if (tvch != null)
            {
                var width = tvch.Width + e.HorizontalChange;
                tvch.AdjustWidth(width);
            }
        }
        internal object GetItemAtLocation(Point loc)
        {
            var uie = InputHitTest(loc) as FrameworkElement;

            if (uie != null)
            {
                var rowPresenter = TableViewUtils.GetAncestorByType <TableViewCellsPresenter>(uie);

                if (rowPresenter != null)
                {
                    return(rowPresenter.Item);
                }
            }

            return(null);
        }
        internal int GetCellIndexAtLocation(Point loc)
        {
            var uie = InputHitTest(loc) as FrameworkElement;

            if (uie != null)
            {
                var rowPresenter = TableViewUtils.GetAncestorByType <TableViewCellsPresenter>(uie);

                if (rowPresenter != null)
                {
                    var cell = TableViewUtils.FindParent <TableViewCell>(uie);
                    if (cell != null)
                    {
                        return(rowPresenter.ItemContainerGenerator.IndexFromContainer(cell));
                    }
                }
            }
            return(-1);
        }