Files
Shrlalgo.RvKits/WPFluent/Controls/Scroll/DynamicScrollViewer.xaml

66 lines
3.2 KiB
Plaintext
Raw Normal View History

2025-07-11 09:20:23 +08:00
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
2025-07-11 09:20:23 +08:00
xmlns:controls="clr-namespace:WPFluent.Controls"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
2025-07-11 09:20:23 +08:00
<Style TargetType="{x:Type controls:DynamicScrollViewer}" x:Key="UiDynamicScrollViewer">
<Setter Property="Margin" Value="0" />
<Setter Property="Padding" Value="0" />
<Setter Property="VerticalScrollBarVisibility" Value="Auto" />
<Setter Property="HorizontalScrollBarVisibility" Value="Disabled" />
2025-07-11 09:20:23 +08:00
<Setter Property="PanningMode" Value="Both" />
<Setter Property="SnapsToDevicePixels" Value="True" />
<Setter Property="OverridesDefaultStyle" Value="True" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type controls:DynamicScrollViewer}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Border
Grid.Column="0"
Grid.ColumnSpan="2"
2025-07-11 09:20:23 +08:00
Grid.Row="0"
Grid.RowSpan="2"
Padding="{TemplateBinding Padding}">
<ScrollContentPresenter CanContentScroll="{TemplateBinding CanContentScroll}" />
</Border>
<controls:DynamicScrollBar
Grid.Column="1"
2025-07-11 09:20:23 +08:00
Grid.Row="0"
IsScrolling="{TemplateBinding IsScrollingVertically}"
Maximum="{TemplateBinding ScrollableHeight}"
2025-07-11 09:20:23 +08:00
Value="{TemplateBinding VerticalOffset}"
ViewportSize="{TemplateBinding ViewportHeight}"
Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}"
2025-07-11 09:20:23 +08:00
x:Name="PART_VerticalScrollBar" />
<controls:DynamicScrollBar
Grid.Column="0"
2025-07-11 09:20:23 +08:00
Grid.Row="1"
IsScrolling="{TemplateBinding IsScrollingHorizontally}"
Maximum="{TemplateBinding ScrollableWidth}"
Orientation="Horizontal"
2025-07-11 09:20:23 +08:00
Value="{TemplateBinding HorizontalOffset}"
ViewportSize="{TemplateBinding ViewportWidth}"
Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}"
2025-07-11 09:20:23 +08:00
x:Name="PART_HorizontalScrollBar" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style BasedOn="{StaticResource UiDynamicScrollViewer}" TargetType="{x:Type controls:DynamicScrollViewer}" />
</ResourceDictionary>