diff --git a/src/Avalonia.Controls/ToolTip.cs b/src/Avalonia.Controls/ToolTip.cs
index 060d559d1a..cff3dab150 100644
--- a/src/Avalonia.Controls/ToolTip.cs
+++ b/src/Avalonia.Controls/ToolTip.cs
@@ -105,20 +105,17 @@ namespace Avalonia.Controls
{
if (control != null && control.IsVisible && control.GetVisualRoot() != null)
{
- if (s_popup == null)
+ if (s_popup != null)
{
- s_popup = new PopupRoot
- {
- Content = new ToolTip(),
- };
-
- ((ISetLogicalParent)s_popup).SetParent(control);
+ throw new AvaloniaInternalException("Previous ToolTip not disposed.");
}
var cp = MouseDevice.Instance?.GetPosition(control);
var position = control.PointToScreen(cp ?? new Point(0, 0)) + new Vector(0, 22);
- ((ToolTip)s_popup.Content).Content = GetTip(control);
+ s_popup = new PopupRoot();
+ ((ISetLogicalParent)s_popup).SetParent(control);
+ s_popup.Content = new ToolTip { Content = GetTip(control) };
s_popup.Position = position;
s_popup.Show();
@@ -148,9 +145,15 @@ namespace Avalonia.Controls
if (control == s_current)
{
- if (s_popup != null && s_popup.IsVisible)
+ if (s_popup != null)
{
- s_popup.Hide();
+ // Clear the ToolTip's Content in case it has control content: this will
+ // reset its visual parent allowing it to be used again.
+ ((ToolTip)s_popup.Content).Content = null;
+
+ // Dispose of the popup.
+ s_popup.Dispose();
+ s_popup = null;
}
s_show.OnNext(null);
diff --git a/src/Avalonia.Themes.Default/Accents/BaseLight.xaml b/src/Avalonia.Themes.Default/Accents/BaseLight.xaml
index 0dae3e1a21..38786f54d3 100644
--- a/src/Avalonia.Themes.Default/Accents/BaseLight.xaml
+++ b/src/Avalonia.Themes.Default/Accents/BaseLight.xaml
@@ -19,6 +19,7 @@
#66119EDA
#33119EDA
Red
+ #10ff0000
2
0.5
diff --git a/src/Avalonia.Themes.Default/DefaultTheme.xaml b/src/Avalonia.Themes.Default/DefaultTheme.xaml
index 0fab9ceec7..026834e808 100644
--- a/src/Avalonia.Themes.Default/DefaultTheme.xaml
+++ b/src/Avalonia.Themes.Default/DefaultTheme.xaml
@@ -1,4 +1,7 @@
+
+
+
@@ -28,7 +31,6 @@
-
diff --git a/src/Avalonia.Themes.Default/TextBox.xaml b/src/Avalonia.Themes.Default/TextBox.xaml
index 89297d2446..a41f40cc5f 100644
--- a/src/Avalonia.Themes.Default/TextBox.xaml
+++ b/src/Avalonia.Themes.Default/TextBox.xaml
@@ -78,6 +78,7 @@
\ No newline at end of file