コード例 #1
0
ファイル: DragAndDropManager.cs プロジェクト: 6ruce/raiseon
 public void RegisterDropTarget(IDropTarget dropTarget)
 {
     if (!DropTargets.Contains(dropTarget))
     {
         DropTargets.Add(dropTarget);
     }
 }
コード例 #2
0
ファイル: DragAndDropManager.cs プロジェクト: 6ruce/raiseon
 public void RemoveDropTarget(IDropTarget dropTarget)
 {
     if (!DropTargets.Contains(dropTarget))
     {
         throw new Exception("Элемент не найден");
     }
     DropTargets.Remove(dropTarget);
 }
コード例 #3
0
ファイル: DragAndDropManager.cs プロジェクト: 6ruce/raiseon
 public void RegisterDropTarget(IDropTarget dropTarget, params string[] allowedDropGroupNames)
 {
     if (!DropTargets.Contains(dropTarget))
     {
         DropTargets.Add(dropTarget);
     }
     foreach (var item in allowedDropGroupNames)
     {
         dropTarget.AllowedDropGroupNames.Add(item);
     }
 }
コード例 #4
0
ファイル: DragAndDropManager.cs プロジェクト: 6ruce/raiseon
        private IDropTarget FindParentAllowedTarget(IDropTarget dropTarget)
        {
            DependencyObject parent = dropTarget.Instanse.Parent;

            while (parent != null)
            {
                var parentDropTarget = parent as IDropTarget;
                if ((parentDropTarget != null) && DropTargets.Contains(parentDropTarget) &&
                    IsAcceptableTarget(parentDropTarget))
                {
                    return(parentDropTarget);
                }
                parent = VisualTreeHelper.GetParent(parent);
            }
            return(null);
        }