diff --git a/src/Markdig.Wpf/MarkdownViewer.cs b/src/Markdig.Wpf/MarkdownViewer.cs
index 5059503..826bd96 100644
--- a/src/Markdig.Wpf/MarkdownViewer.cs
+++ b/src/Markdig.Wpf/MarkdownViewer.cs
@@ -5,6 +5,7 @@
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
+using System.Windows.Input;
namespace Markdig.Wpf
{
@@ -35,11 +36,27 @@ public class MarkdownViewer : Control
public static readonly DependencyProperty PipelineProperty =
DependencyProperty.Register(nameof(Pipeline), typeof(MarkdownPipeline), typeof(MarkdownViewer), new FrameworkPropertyMetadata(PipelineChanged));
+ ///
+ /// Defines the property.
+ ///
+ public static readonly DependencyProperty HandleVerticalScrollEventsProperty =
+ DependencyProperty.Register(nameof(HandleVerticalScrollEvents), typeof(bool), typeof(MarkdownViewer));
+
static MarkdownViewer()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(MarkdownViewer), new FrameworkPropertyMetadata(typeof(MarkdownViewer)));
}
+ public MarkdownViewer()
+ {
+ AddHandler(MouseWheelEvent, new MouseWheelEventHandler(OnVerticalScrollEventHandled), true);
+ }
+
+ private void OnVerticalScrollEventHandled(object sender, MouseWheelEventArgs e)
+ {
+ e.Handled = HandleVerticalScrollEvents;
+ }
+
///
/// Gets the flow document to display.
///
@@ -67,6 +84,15 @@ public MarkdownPipeline Pipeline
set { SetValue(PipelineProperty, value); }
}
+ ///
+ /// Gets or sets the handling of the vertical scroll events.
+ ///
+ public bool HandleVerticalScrollEvents
+ {
+ get { return (bool)GetValue(HandleVerticalScrollEventsProperty); }
+ set { SetValue(HandleVerticalScrollEventsProperty, value); }
+ }
+
private static void MarkdownChanged(object sender, DependencyPropertyChangedEventArgs e)
{
var control = (MarkdownViewer)sender;