I had creating a new boolean in my user control(WorkflowContainer ) called IsDragMouseOver.
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;
}
I want to display blue sign plus on child element of user control when i drag over in scope of UserControl:
that work fine only i drag over on user control but when i drag over on child element IsDragMouseOver
return false
and blue sign plus not display:
code xaml of child element:
<Path Stretch="Fill" Width="12" Height="12" VerticalAlignment="Center" HorizontalAlignment="Center" StrokeThickness="0.5" Stroke="{DynamicResource BorderBrush}" Panel.ZIndex="1" Fill="Green" Margin="0 0 2 0"
Visibility="{Binding IsDragMouseOver, RelativeSource={RelativeSource AncestorType={x:Type wfb:Workflow}}, Converter={StaticResource BoolToVisibilityConverter}}"
Data="M4.1561281,2.2702953 L4.8524521,2.2702954 4.8509674,3.963097 5.8969377,3.9630803 5.8969378,5.0916036 4.8524628,5.1061913 4.8524521,6.7843885 4.1561281,6.7843887 4.1559771,5.0877741 3.1116421,5.0916036 3.1116421,3.9630803 4.1556735,3.9654722 4.1561281,2.2702953 z"/>
How to display sign plus when i drag over inside scope of UserControl and only disable sign plus when drag over outside scope of UserControl ?