@@ -24,6 +24,25 @@ public ReleaseNotesWindow()
2424 ModernWpf . ThemeManager . Current . ActualApplicationThemeChanged += ThemeManager_ActualApplicationThemeChanged ;
2525 }
2626
27+ private void ThemeManager_ActualApplicationThemeChanged ( ModernWpf . ThemeManager sender , object args )
28+ {
29+ Application . Current . Dispatcher . Invoke ( ( ) =>
30+ {
31+ if ( ModernWpf . ThemeManager . Current . ActualApplicationTheme == ModernWpf . ApplicationTheme . Light )
32+ {
33+ MarkdownViewer . MarkdownStyle = ( Style ) Application . Current . Resources [ "DocumentStyleGithubLikeLight" ] ;
34+ MarkdownViewer . Foreground = Brushes . Black ;
35+ MarkdownViewer . Background = Brushes . White ;
36+ }
37+ else
38+ {
39+ MarkdownViewer . MarkdownStyle = ( Style ) Application . Current . Resources [ "DocumentStyleGithubLikeDark" ] ;
40+ MarkdownViewer . Foreground = Brushes . White ;
41+ MarkdownViewer . Background = Brushes . Black ;
42+ }
43+ } ) ;
44+ }
45+
2746 #region Window Events
2847
2948 private void Window_Loaded ( object sender , RoutedEventArgs e )
@@ -162,6 +181,8 @@ private sealed class GitHubReleaseInfo
162181
163182 #endregion
164183
184+ #region Control Events
185+
165186 private void MarkdownViewer_Loaded ( object sender , RoutedEventArgs e )
166187 {
167188 RefreshMarkdownViewer ( ) ;
@@ -196,29 +217,36 @@ private async void RefreshMarkdownViewer()
196217 } ) ;
197218 }
198219
199- private void ThemeManager_ActualApplicationThemeChanged ( ModernWpf . ThemeManager sender , object args )
220+ private void Grid_SizeChanged ( object sender , SizeChangedEventArgs e )
200221 {
201- Application . Current . Dispatcher . Invoke ( ( ) =>
202- {
203- if ( ModernWpf . ThemeManager . Current . ActualApplicationTheme == ModernWpf . ApplicationTheme . Light )
204- {
205- MarkdownViewer . MarkdownStyle = ( Style ) Application . Current . Resources [ "DocumentStyleGithubLikeLight" ] ;
206- MarkdownViewer . Foreground = Brushes . Black ;
207- MarkdownViewer . Background = Brushes . White ;
208- }
209- else
210- {
211- MarkdownViewer . MarkdownStyle = ( Style ) Application . Current . Resources [ "DocumentStyleGithubLikeDark" ] ;
212- MarkdownViewer . Foreground = Brushes . White ;
213- MarkdownViewer . Background = Brushes . Black ;
214- }
215- } ) ;
222+ MarkdownScrollViewer . Height = e . NewSize . Height ;
223+ MarkdownScrollViewer . Width = e . NewSize . Width ;
216224 }
217225
218- private void Grid_SizeChanged ( object sender , SizeChangedEventArgs e )
226+ private void MarkdownViewer_MouseWheel ( object sender , MouseWheelEventArgs e )
219227 {
220- MarkdownViewer . Height = e . NewSize . Height ;
221- MarkdownViewer . Width = e . NewSize . Width ;
228+ RaiseMouseWheelEvent ( sender , e ) ;
222229 }
230+
231+ private void MarkdownViewer_PreviewMouseWheel ( object sender , MouseWheelEventArgs e )
232+ {
233+ RaiseMouseWheelEvent ( sender , e ) ;
234+ }
235+
236+ private void RaiseMouseWheelEvent ( object sender , MouseWheelEventArgs e )
237+ {
238+ e . Handled = true ; // Prevent the inner control from handling the event
239+
240+ var eventArg = new MouseWheelEventArgs ( e . MouseDevice , e . Timestamp , e . Delta )
241+ {
242+ RoutedEvent = UIElement . MouseWheelEvent ,
243+ Source = sender
244+ } ;
245+
246+ // Raise the event on the parent ScrollViewer
247+ MarkdownScrollViewer . RaiseEvent ( eventArg ) ;
248+ }
249+
250+ #endregion
223251 }
224252}
0 commit comments