Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions src/MaterialDesignThemes.Wpf/ScrollViewerAssist.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public static PaddingMode GetPaddingMode(DependencyObject element)
=> (PaddingMode)element.GetValue(PaddingModeProperty);

public static readonly DependencyProperty IgnorePaddingProperty = DependencyProperty.RegisterAttached(
"IgnorePadding", typeof(bool), typeof(ScrollViewerAssist), new PropertyMetadata(true));
"IgnorePadding", typeof(bool), typeof(ScrollViewerAssist), new PropertyMetadata(true));

public static void SetIgnorePadding(DependencyObject element, bool value) => element.SetValue(IgnorePaddingProperty, value);
public static bool GetIgnorePadding(DependencyObject element) => (bool)element.GetValue(IgnorePaddingProperty);
Expand Down Expand Up @@ -191,7 +191,7 @@ private static void OnBubbleVerticalScrollChanged(DependencyObject d, Dependency
{
if (sv.IsLoaded)
{
DoOnLoaded(sv);
ApplyBubbleVerticalScrollHooks(sv);
}
else
{
Expand All @@ -204,7 +204,7 @@ static void OnLoaded(object? sender, RoutedEventArgs e)
{
if (sender is ScrollViewer sv)
{
DoOnLoaded(sv);
ApplyBubbleVerticalScrollHooks(sv);
}
}

Expand Down Expand Up @@ -244,7 +244,7 @@ static void RegisterForMouseWheelEvent(ScrollViewer sv)
sv.AddHandler(UIElement.MouseWheelEvent, (RoutedEventHandler)ScrollViewerOnMouseWheel, true);
}

static void DoOnLoaded(ScrollViewer sv)
static void ApplyBubbleVerticalScrollHooks(ScrollViewer sv)
{
if (GetBubbleVerticalScroll(sv))
{
Expand All @@ -255,6 +255,8 @@ static void DoOnLoaded(ScrollViewer sv)
else
{
RemoveHook(sv);
UnregisterForMouseWheelEvent(sv);
UnregisterForUnloadedEvent(sv);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -489,7 +489,7 @@
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="{TemplateBinding wpf:DataGridAssist.CornerRadius}"
SnapsToDevicePixels="True">
<ScrollViewer x:Name="DG_ScrollViewer" Focusable="false">
<ScrollViewer x:Name="DG_ScrollViewer" Focusable="false" wpf:ScrollViewerAssist.BubbleVerticalScroll="{Binding Path=(wpf:ScrollViewerAssist.BubbleVerticalScroll), RelativeSource={RelativeSource TemplatedParent}}">
<ScrollViewer.Template>
<ControlTemplate TargetType="{x:Type ScrollViewer}">
<Grid>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,7 @@
<ScrollViewer Padding="{TemplateBinding Padding}"
wpf:ScrollViewerAssist.IgnorePadding="{Binding Path=(wpf:ScrollViewerAssist.IgnorePadding), RelativeSource={RelativeSource TemplatedParent}}"
wpf:ScrollViewerAssist.PaddingMode="{Binding Path=(wpf:ScrollViewerAssist.PaddingMode), RelativeSource={RelativeSource TemplatedParent}}"
wpf:ScrollViewerAssist.BubbleVerticalScroll="{Binding Path=(wpf:ScrollViewerAssist.BubbleVerticalScroll), RelativeSource={RelativeSource TemplatedParent}}"
ClipToBounds="False"
Focusable="false">
<ItemsPresenter ClipToBounds="False" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
Expand Down Expand Up @@ -641,7 +642,8 @@
<ScrollViewer Padding="{TemplateBinding Padding}"
Focusable="false"
wpf:ScrollViewerAssist.IgnorePadding="{Binding Path=(wpf:ScrollViewerAssist.IgnorePadding), RelativeSource={RelativeSource TemplatedParent}}"
wpf:ScrollViewerAssist.PaddingMode="{Binding Path=(wpf:ScrollViewerAssist.PaddingMode), RelativeSource={RelativeSource TemplatedParent}}">
wpf:ScrollViewerAssist.PaddingMode="{Binding Path=(wpf:ScrollViewerAssist.PaddingMode), RelativeSource={RelativeSource TemplatedParent}}"
wpf:ScrollViewerAssist.BubbleVerticalScroll="{Binding Path=(wpf:ScrollViewerAssist.BubbleVerticalScroll), RelativeSource={RelativeSource TemplatedParent}}">
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</ScrollViewer>
</Border>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
wpf:ScrollViewerAssist.SyncHorizontalOffset="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"
wpf:ScrollViewerAssist.IgnorePadding="{Binding Path=(wpf:ScrollViewerAssist.IgnorePadding), RelativeSource={RelativeSource TemplatedParent}}"
wpf:ScrollViewerAssist.PaddingMode="{Binding Path=(wpf:ScrollViewerAssist.PaddingMode), RelativeSource={RelativeSource TemplatedParent}}"
wpf:ScrollViewerAssist.BubbleVerticalScroll="{Binding Path=(wpf:ScrollViewerAssist.BubbleVerticalScroll), RelativeSource={RelativeSource TemplatedParent}}"
DockPanel.Dock="Top"
Focusable="false"
HorizontalScrollBarVisibility="Hidden"
Expand Down Expand Up @@ -212,9 +213,9 @@
<converters:ListViewGridViewConverter x:Key="MaterialDesignListViewTemplateConverter">
<converters:ListViewGridViewConverter.DefaultValue>
<ControlTemplate TargetType="{x:Type ListView}">
<ScrollViewer>
<ScrollViewer wpf:ScrollViewerAssist.BubbleVerticalScroll="{Binding Path=(wpf:ScrollViewerAssist.BubbleVerticalScroll), RelativeSource={RelativeSource TemplatedParent}}">
<ItemsPresenter />
</ScrollViewer>
</ScrollViewer>
<ControlTemplate.Triggers>
<Trigger Property="IsGrouping" Value="True">
<Setter Property="ScrollViewer.CanContentScroll" Value="false" />
Expand All @@ -224,7 +225,8 @@
</converters:ListViewGridViewConverter.DefaultValue>
<converters:ListViewGridViewConverter.ViewValue>
<ControlTemplate TargetType="{x:Type ListView}">
<ScrollViewer Style="{DynamicResource {x:Static GridView.GridViewScrollViewerStyleKey}}">
<ScrollViewer Style="{DynamicResource {x:Static GridView.GridViewScrollViewerStyleKey}}"
wpf:ScrollViewerAssist.BubbleVerticalScroll="{Binding Path=(wpf:ScrollViewerAssist.BubbleVerticalScroll), RelativeSource={RelativeSource TemplatedParent}}">
<ItemsPresenter />
</ScrollViewer>
<ControlTemplate.Triggers>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -284,6 +284,7 @@
Style="{DynamicResource {x:Static GridView.GridViewScrollViewerStyleKey}}"
wpf:ScrollViewerAssist.IgnorePadding="{Binding Path=(wpf:ScrollViewerAssist.IgnorePadding), RelativeSource={RelativeSource TemplatedParent}}"
wpf:ScrollViewerAssist.PaddingMode="{Binding Path=(wpf:ScrollViewerAssist.PaddingMode), RelativeSource={RelativeSource TemplatedParent}}"
wpf:ScrollViewerAssist.BubbleVerticalScroll="{Binding Path=(wpf:ScrollViewerAssist.BubbleVerticalScroll), RelativeSource={RelativeSource TemplatedParent}}"
Padding="{TemplateBinding Padding}"
Background="{TemplateBinding Background}"
CanContentScroll="false"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
Background="{TemplateBinding Background}"
wpf:ScrollViewerAssist.IgnorePadding="{Binding Path=(wpf:ScrollViewerAssist.IgnorePadding), RelativeSource={RelativeSource TemplatedParent}}"
wpf:ScrollViewerAssist.PaddingMode="{Binding Path=(wpf:ScrollViewerAssist.PaddingMode), RelativeSource={RelativeSource TemplatedParent}}"
wpf:ScrollViewerAssist.BubbleVerticalScroll="{Binding Path=(wpf:ScrollViewerAssist.BubbleVerticalScroll), RelativeSource={RelativeSource TemplatedParent}}"
CanContentScroll="false"
Focusable="false"
HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}"
Expand Down
Loading