diff --git a/src/Avalonia.Diagnostics/Diagnostics/DevToolsOptions.cs b/src/Avalonia.Diagnostics/Diagnostics/DevToolsOptions.cs
index 46ee8e686c..5672641602 100644
--- a/src/Avalonia.Diagnostics/Diagnostics/DevToolsOptions.cs
+++ b/src/Avalonia.Diagnostics/Diagnostics/DevToolsOptions.cs
@@ -41,5 +41,10 @@ namespace Avalonia.Diagnostics
/// Default handler is
public IScreenshotHandler ScreenshotHandler { get; set; }
= Convetions.DefaultScreenshotHandler;
+
+ ///
+ /// Gets or sets whether DevTools should use the dark mode theme
+ ///
+ public bool UseDarkMode { get; set; }
}
}
diff --git a/src/Avalonia.Diagnostics/Diagnostics/Views/LayoutExplorerView.axaml b/src/Avalonia.Diagnostics/Diagnostics/Views/LayoutExplorerView.axaml
index af6c84a76a..db48aaaa8e 100644
--- a/src/Avalonia.Diagnostics/Diagnostics/Views/LayoutExplorerView.axaml
+++ b/src/Avalonia.Diagnostics/Diagnostics/Views/LayoutExplorerView.axaml
@@ -15,6 +15,7 @@
+
@@ -46,6 +47,7 @@
diff --git a/src/Avalonia.Diagnostics/Diagnostics/Views/MainWindow.xaml.cs b/src/Avalonia.Diagnostics/Diagnostics/Views/MainWindow.xaml.cs
index a3cff7f3d3..1e152dcdd4 100644
--- a/src/Avalonia.Diagnostics/Diagnostics/Views/MainWindow.xaml.cs
+++ b/src/Avalonia.Diagnostics/Diagnostics/Views/MainWindow.xaml.cs
@@ -11,6 +11,7 @@ using Avalonia.Input;
using Avalonia.Input.Raw;
using Avalonia.Markup.Xaml;
using Avalonia.Styling;
+using Avalonia.Themes.Default;
using Avalonia.VisualTree;
namespace Avalonia.Diagnostics.Views
@@ -242,7 +243,17 @@ namespace Avalonia.Diagnostics.Views
private void RootClosed(object? sender, EventArgs e) => Close();
- public void SetOptions(DevToolsOptions options) =>
+ public void SetOptions(DevToolsOptions options)
+ {
(DataContext as MainViewModel)?.SetOptions(options);
+
+ if (options.UseDarkMode)
+ {
+ if (Styles[0] is SimpleTheme st)
+ {
+ st.Mode = SimpleThemeMode.Dark;
+ }
+ }
+ }
}
}