From 4436a1efeeed91c1c1ec60cbfa64a763f9e2fbe9 Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Sat, 7 Jun 2025 23:23:45 +0800
Subject: [PATCH] Support smooth scroll
---
Flow.Launcher/ReleaseNotesWindow.xaml | 28 +++++++---
Flow.Launcher/ReleaseNotesWindow.xaml.cs | 70 +++++++++++++++++-------
2 files changed, 68 insertions(+), 30 deletions(-)
diff --git a/Flow.Launcher/ReleaseNotesWindow.xaml b/Flow.Launcher/ReleaseNotesWindow.xaml
index be1fe5c82..12fb81397 100644
--- a/Flow.Launcher/ReleaseNotesWindow.xaml
+++ b/Flow.Launcher/ReleaseNotesWindow.xaml
@@ -166,22 +166,32 @@
-
+
+ Height="500">
+
+
-
+
+ {
+ if (ModernWpf.ThemeManager.Current.ActualApplicationTheme == ModernWpf.ApplicationTheme.Light)
+ {
+ MarkdownViewer.MarkdownStyle = (Style)Application.Current.Resources["DocumentStyleGithubLikeLight"];
+ MarkdownViewer.Foreground = Brushes.Black;
+ MarkdownViewer.Background = Brushes.White;
+ }
+ else
+ {
+ MarkdownViewer.MarkdownStyle = (Style)Application.Current.Resources["DocumentStyleGithubLikeDark"];
+ MarkdownViewer.Foreground = Brushes.White;
+ MarkdownViewer.Background = Brushes.Black;
+ }
+ });
+ }
+
#region Window Events
private void Window_Loaded(object sender, RoutedEventArgs e)
@@ -162,6 +181,8 @@ namespace Flow.Launcher
#endregion
+ #region Control Events
+
private void MarkdownViewer_Loaded(object sender, RoutedEventArgs e)
{
RefreshMarkdownViewer();
@@ -196,29 +217,36 @@ namespace Flow.Launcher
});
}
- private void ThemeManager_ActualApplicationThemeChanged(ModernWpf.ThemeManager sender, object args)
- {
- Application.Current.Dispatcher.Invoke(() =>
- {
- if (ModernWpf.ThemeManager.Current.ActualApplicationTheme == ModernWpf.ApplicationTheme.Light)
- {
- MarkdownViewer.MarkdownStyle = (Style)Application.Current.Resources["DocumentStyleGithubLikeLight"];
- MarkdownViewer.Foreground = Brushes.Black;
- MarkdownViewer.Background = Brushes.White;
- }
- else
- {
- MarkdownViewer.MarkdownStyle = (Style)Application.Current.Resources["DocumentStyleGithubLikeDark"];
- MarkdownViewer.Foreground = Brushes.White;
- MarkdownViewer.Background = Brushes.Black;
- }
- });
- }
-
private void Grid_SizeChanged(object sender, SizeChangedEventArgs e)
{
- MarkdownViewer.Height = e.NewSize.Height;
- MarkdownViewer.Width = e.NewSize.Width;
+ MarkdownScrollViewer.Height = e.NewSize.Height;
+ MarkdownScrollViewer.Width = e.NewSize.Width;
}
+
+ private void MarkdownViewer_MouseWheel(object sender, MouseWheelEventArgs e)
+ {
+ RaiseMouseWheelEvent(sender, e);
+ }
+
+ private void MarkdownViewer_PreviewMouseWheel(object sender, MouseWheelEventArgs e)
+ {
+ RaiseMouseWheelEvent(sender, e);
+ }
+
+ private void RaiseMouseWheelEvent(object sender, MouseWheelEventArgs e)
+ {
+ e.Handled = true; // Prevent the inner control from handling the event
+
+ var eventArg = new MouseWheelEventArgs(e.MouseDevice, e.Timestamp, e.Delta)
+ {
+ RoutedEvent = UIElement.MouseWheelEvent,
+ Source = sender
+ };
+
+ // Raise the event on the parent ScrollViewer
+ MarkdownScrollViewer.RaiseEvent(eventArg);
+ }
+
+ #endregion
}
}