From ad1779390f9131b8d0cf0a64e21855b803414c96 Mon Sep 17 00:00:00 2001
From: amwx <40413319+amwx@users.noreply.github.com>
Date: Wed, 23 Mar 2022 19:38:36 -0400
Subject: [PATCH] Add UseDarkMode property to DevToolsOptions
---
.../Diagnostics/DevToolsOptions.cs | 5 +++++
.../Diagnostics/Views/MainWindow.xaml.cs | 13 ++++++++++++-
2 files changed, 17 insertions(+), 1 deletion(-)
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/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;
+ }
+ }
+ }
}
}