Skip to content

Commit 74fef82

Browse files
authored
DYN-8789: hide DynamoToolTip when parent window is not visible (#16269)
1 parent 3f99d6d commit 74fef82

2 files changed

Lines changed: 36 additions & 2 deletions

File tree

src/DynamoCoreWpf/Controls/DynamoTextBox.cs

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System;
22
using System.Windows;
33
using System.Windows.Controls;
44
using System.Windows.Controls.Primitives;
@@ -344,6 +344,38 @@ public Side AttachmentSide
344344
get { return ((Side)GetValue(AttachmentSideProperty)); }
345345
set { SetValue(AttachmentSideProperty, value); }
346346
}
347+
348+
private UIElement _target;
349+
350+
protected override void OnOpened(RoutedEventArgs e)
351+
{
352+
base.OnOpened(e);
353+
354+
_target = PlacementTarget;
355+
if (_target != null)
356+
{
357+
_target.IsVisibleChanged += Target_IsVisibleChanged;
358+
}
359+
}
360+
361+
protected override void OnClosed(RoutedEventArgs e)
362+
{
363+
base.OnClosed(e);
364+
365+
if (_target != null)
366+
{
367+
_target.IsVisibleChanged -= Target_IsVisibleChanged;
368+
_target = null;
369+
}
370+
}
371+
372+
private void Target_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
373+
{
374+
if (_target != null && !_target.IsVisible)
375+
{
376+
IsOpen = false;
377+
}
378+
}
347379
}
348380

349381
public class LibraryToolTipPopup : Popup

src/DynamoCoreWpf/PublicAPI.Unshipped.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4309,6 +4309,8 @@ override Dynamo.UI.Controls.CodeBlockEditor.OnCommitChange() -> void
43094309
override Dynamo.UI.Controls.CodeBlockEditor.OnEscape() -> void
43104310
override Dynamo.UI.Controls.CodeBlockEditor.OnTextAreaGotFocus(object sender, System.Windows.RoutedEventArgs e) -> void
43114311
override Dynamo.UI.Controls.CodeCompletionEditor.OnPreviewKeyDown(System.Windows.Input.KeyEventArgs e) -> void
4312+
override Dynamo.UI.Controls.DynamoToolTip.OnClosed(System.Windows.RoutedEventArgs e) -> void
4313+
override Dynamo.UI.Controls.DynamoToolTip.OnOpened(System.Windows.RoutedEventArgs e) -> void
43124314
override Dynamo.UI.Controls.ImageButton.OnApplyTemplate() -> void
43134315
override Dynamo.UI.Controls.ImageCheckBox.OnApplyTemplate() -> void
43144316
override Dynamo.UI.Controls.ImageRepeatButton.OnApplyTemplate() -> void
@@ -5925,4 +5927,4 @@ virtual Dynamo.Wpf.ViewModels.Watch3D.DefaultWatch3DViewModel.UpdateHelpers() ->
59255927
virtual Dynamo.Wpf.ViewModels.Watch3D.DefaultWatch3DViewModel.ZoomToFit(object parameter) -> void
59265928
virtual Dynamo.Wpf.ViewModels.Watch3D.HelixWatch3DViewModel.OnWatchExecution() -> void
59275929
virtual Dynamo.Wpf.ViewModels.Watch3D.HelixWatch3DViewModel.UpdateUpstream() -> void
5928-
virtual UI.Prompts.PortPropertiesEditPrompt.OnPropertyChanged(System.ComponentModel.PropertyChangedEventArgs e) -> void
5930+
virtual UI.Prompts.PortPropertiesEditPrompt.OnPropertyChanged(System.ComponentModel.PropertyChangedEventArgs e) -> void

0 commit comments

Comments
 (0)