diff --git a/samples/interop/WindowsInteropTest/EmbedToWpfDemo.xaml.cs b/samples/interop/WindowsInteropTest/EmbedToWpfDemo.xaml.cs
index 5ca2768d9e..1a91d67b49 100644
--- a/samples/interop/WindowsInteropTest/EmbedToWpfDemo.xaml.cs
+++ b/samples/interop/WindowsInteropTest/EmbedToWpfDemo.xaml.cs
@@ -28,10 +28,7 @@ namespace WindowsInteropTest
InitializeComponent();
var view = new MainView();
- view.AttachedToVisualTree += delegate
- {
- view.AttachDevTools();
- };
+ view.AttachDevToolsToTopLevelOnVisualTreeAttachment();
Host.Content = view;
var btn = (Avalonia.Controls.Button) RightBtn.Content;
btn.Click += delegate
diff --git a/src/Avalonia.Diagnostics/DevTools.xaml.cs b/src/Avalonia.Diagnostics/DevTools.xaml.cs
index 85c3cfddd8..06965ece89 100644
--- a/src/Avalonia.Diagnostics/DevTools.xaml.cs
+++ b/src/Avalonia.Diagnostics/DevTools.xaml.cs
@@ -14,12 +14,21 @@ using Avalonia.VisualTree;
namespace Avalonia
{
- public static class WindowExtensions
+ public static class DevToolsExtensions
{
- public static void AttachDevTools(this Control control)
+ public static void AttachDevTools(this TopLevel control)
{
- Avalonia.Diagnostics.DevTools.Attach((TopLevel)control.GetVisualRoot());
+ Avalonia.Diagnostics.DevTools.Attach(control);
}
+
+ public static void AttachDevToolsToTopLevelOnVisualTreeAttachment(this Control control)
+ {
+ (control.GetVisualRoot() as TopLevel)?.AttachDevTools();
+ control.AttachedToVisualTree += delegate
+ {
+ (control.GetVisualRoot() as TopLevel)?.AttachDevTools();
+ };
+ }
}
}
diff --git a/src/Windows/Avalonia.Win32.Interop/Avalonia.Win32.Interop.csproj b/src/Windows/Avalonia.Win32.Interop/Avalonia.Win32.Interop.csproj
index e2d764c62c..c5cd2ab64d 100644
--- a/src/Windows/Avalonia.Win32.Interop/Avalonia.Win32.Interop.csproj
+++ b/src/Windows/Avalonia.Win32.Interop/Avalonia.Win32.Interop.csproj
@@ -49,7 +49,7 @@
-
+
diff --git a/src/Windows/Avalonia.Win32.Interop/Wpf/Helpers.cs b/src/Windows/Avalonia.Win32.Interop/Wpf/WpfInteropExtensions.cs
similarity index 94%
rename from src/Windows/Avalonia.Win32.Interop/Wpf/Helpers.cs
rename to src/Windows/Avalonia.Win32.Interop/Wpf/WpfInteropExtensions.cs
index 9c1f39e86b..6433ff05e0 100644
--- a/src/Windows/Avalonia.Win32.Interop/Wpf/Helpers.cs
+++ b/src/Windows/Avalonia.Win32.Interop/Wpf/WpfInteropExtensions.cs
@@ -6,7 +6,7 @@ using System.Threading.Tasks;
namespace Avalonia.Win32.Interop.Wpf
{
- static class Helpers
+ static class WpfInteropExtensions
{
public static System.Windows.Point ToWpfPoint(this Point pt) => new System.Windows.Point(pt.X, pt.Y);
public static Point ToAvaloniaPoint(this System.Windows.Point pt) => new Point(pt.X, pt.Y);