コード例 #1
0
ファイル: DragDropDevice.cs プロジェクト: yzq1979/Avalonia
        private Interactive GetTarget(IInputRoot root, Point local)
        {
            var target = root.InputHitTest(local)?.GetSelfAndVisualAncestors()?.OfType <Interactive>()?.FirstOrDefault();

            if (target != null && DragDrop.GetAllowDrop(target))
            {
                return(target);
            }
            return(null);
        }
コード例 #2
0
ファイル: MouseDevice.cs プロジェクト: nbxx/Avalonia
        private IInputElement SetPointerOver(IPointerDevice device, IInputRoot root, Point p)
        {
            Contract.Requires <ArgumentNullException>(device != null);
            Contract.Requires <ArgumentNullException>(root != null);

            var element = root.InputHitTest(p);

            if (element != root.PointerOverElement)
            {
                if (element != null)
                {
                    SetPointerOver(device, root, element);
                }
                else
                {
                    ClearPointerOver(device, root);
                }
            }

            return(element);
        }