Example #1
0
        /// <summary>
        /// Находится ли указатель над объектом.
        /// </summary>
        /// <param name="theTarget"></param>
        /// <param name="pos"></param>
        /// <returns></returns>
        private bool IsTheMouseOnTargetRow(Visual theTarget, GetGragDropPosition pos)
        {
            Rect  posBound    = VisualTreeHelper.GetDescendantBounds(theTarget);
            Point theMousePos = pos((IInputElement)theTarget);

            return(posBound.Contains(theMousePos));
        }
Example #2
0
        /// <summary>
        /// Получить индекс строки, над которой находится указатель мыши.
        /// </summary>
        /// <param name="pos"></param>
        /// <returns></returns>
        private int GetDataGridItemCurrentRowIndex(GetGragDropPosition pos)
        {
            int curIndex = -1;

            for (int i = 0; i < grid.Items.Count; i++)
            {
                DataGridRow itm = GetDataGridRowItem(i);
                if (IsTheMouseOnTargetRow(itm, pos))
                {
                    curIndex = i;
                    break;
                }
            }
            return(curIndex);
        }