@@ -24,6 +24,25 @@ public ReleaseNotesWindow()
24
24
ModernWpf . ThemeManager . Current . ActualApplicationThemeChanged += ThemeManager_ActualApplicationThemeChanged ;
25
25
}
26
26
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
+
27
46
#region Window Events
28
47
29
48
private void Window_Loaded ( object sender , RoutedEventArgs e )
@@ -162,6 +181,8 @@ private sealed class GitHubReleaseInfo
162
181
163
182
#endregion
164
183
184
+ #region Control Events
185
+
165
186
private void MarkdownViewer_Loaded ( object sender , RoutedEventArgs e )
166
187
{
167
188
RefreshMarkdownViewer ( ) ;
@@ -196,29 +217,36 @@ private async void RefreshMarkdownViewer()
196
217
} ) ;
197
218
}
198
219
199
- private void ThemeManager_ActualApplicationThemeChanged ( ModernWpf . ThemeManager sender , object args )
220
+ private void Grid_SizeChanged ( object sender , SizeChangedEventArgs e )
200
221
{
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 ;
216
224
}
217
225
218
- private void Grid_SizeChanged ( object sender , SizeChangedEventArgs e )
226
+ private void MarkdownViewer_MouseWheel ( object sender , MouseWheelEventArgs e )
219
227
{
220
- MarkdownViewer . Height = e . NewSize . Height ;
221
- MarkdownViewer . Width = e . NewSize . Width ;
228
+ RaiseMouseWheelEvent ( sender , e ) ;
222
229
}
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
223
251
}
224
252
}
0 commit comments