Browse Source

ensure tooltips are closed when its parent detaches from visual tree.

pull/4296/head
Dan Walmsley 6 years ago
parent
commit
a542d8753d
  1. 8
      src/Avalonia.Controls/ToolTipService.cs

8
src/Avalonia.Controls/ToolTipService.cs

@ -28,14 +28,22 @@ namespace Avalonia.Controls
{ {
control.PointerEnter -= ControlPointerEnter; control.PointerEnter -= ControlPointerEnter;
control.PointerLeave -= ControlPointerLeave; control.PointerLeave -= ControlPointerLeave;
control.DetachedFromVisualTree -= ControlDetaching;
} }
if (e.NewValue != null) if (e.NewValue != null)
{ {
control.PointerEnter += ControlPointerEnter; control.PointerEnter += ControlPointerEnter;
control.PointerLeave += ControlPointerLeave; control.PointerLeave += ControlPointerLeave;
control.DetachedFromVisualTree += ControlDetaching;
} }
} }
private void ControlDetaching(object sender, VisualTreeAttachmentEventArgs e)
{
var control = (Control)sender;
Close(control);
}
/// <summary> /// <summary>
/// Called when the pointer enters a control with an attached tooltip. /// Called when the pointer enters a control with an attached tooltip.

Loading…
Cancel
Save