我在我的用户控件(WorkflowContainer)中创建了一个名为IsDragMouseOver的新布尔值。
$.getJSON('{{action("Controller@method")}}', {user_id: vm.user.id})
当我在UserControl的范围内拖动时,我想在用户控件的子元素上显示蓝色符号加:
只有我拖动用户控件才能正常工作但是当我拖动子元素public static DependencyProperty IsDragMouseOverProperty = DependencyProperty.Register("IsDragMouseOver", typeof(bool), typeof(WpfWorkflowBaseDesigner), null);
public bool IsDragMouseOver
{
get
{
return (bool)GetValue(IsDragMouseOverProperty);
}
set
{
SetValue(IsDragMouseOverProperty, value);
}
}
protected override void OnDragEnter(DragEventArgs e)
{
base.OnDragEnter(e);
IsDragMouseOver = true;
}
protected override void OnDragOver(DragEventArgs e)
{
base.OnDragOver(e);
IsDragMouseOver = true;
}
protected override void OnDrop(DragEventArgs e)
{
base.OnDrop(e);
IsDragMouseOver = false;
}
protected override void OnDragLeave(DragEventArgs e)
{
base.OnDragLeave(e);
IsDragMouseOver = false;
}
时返回IsDragMouseOver
并且蓝色符号加上不显示:
子元素的代码xaml:
false
当我在UserControl的范围内拖动时如何显示符号加上只有在UserControl的外部范围内拖动时才禁用sign plus?
答案 0 :(得分:0)
处理子元素中的DragEnter,代码示例:
protected override void OnDragEnter(DragEventArgs e)
{
base.OnDragEnter(e);
WorkflowContainer workflowContainer = DesignerHelper.FindAncestor<WorkflowContainer>(e.OriginalSource as DependencyObject);
if (workflowContainer != null)
{
workflowContainer.IsDragMouseOver = true;
}
}