181 lines
8.7 KiB
XML
181 lines
8.7 KiB
XML
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes">
|
|
|
|
<ControlTemplate x:Key="LiviaScrollViewerTemplate"
|
|
TargetType="{x:Type ScrollViewer}">
|
|
<Grid x:Name="Grid"
|
|
Background="{TemplateBinding Background}">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<Rectangle x:Name="PART_Corner"
|
|
Grid.Row="1"
|
|
Grid.Column="1"
|
|
Fill="{DynamicResource MaterialDesignSelection}"
|
|
Visibility="{Binding Path=(materialDesign:ScrollViewerAssist.CornerRectangleVisibility), RelativeSource={RelativeSource TemplatedParent}}" />
|
|
|
|
<ScrollContentPresenter x:Name="PART_ScrollContentPresenter"
|
|
Grid.Row="0"
|
|
Grid.Column="0"
|
|
CanContentScroll="{TemplateBinding CanContentScroll}"
|
|
CanHorizontallyScroll="False"
|
|
CanVerticallyScroll="False"
|
|
Content="{TemplateBinding Content}"
|
|
ContentTemplate="{TemplateBinding ContentTemplate}" />
|
|
|
|
<Separator x:Name="PART_TopSeparator"
|
|
Grid.Row="0"
|
|
Grid.Column="0"
|
|
Margin="0"
|
|
VerticalAlignment="Top"
|
|
Background="{DynamicResource MaterialDesignSelection}"
|
|
Opacity="0.4"
|
|
Visibility="Visible" />
|
|
|
|
<Separator x:Name="PART_BottomSeparator"
|
|
Grid.Row="0"
|
|
Grid.Column="0"
|
|
Margin="0"
|
|
VerticalAlignment="Bottom"
|
|
Background="{DynamicResource MaterialDesignSelection}"
|
|
Opacity="0.4"
|
|
Visibility="Hidden" />
|
|
|
|
<ScrollBar x:Name="PART_VerticalScrollBar"
|
|
Grid.Row="0"
|
|
Grid.Column="1"
|
|
Background="{StaticResource White1Brush}"
|
|
AutomationProperties.AutomationId="VerticalScrollBar"
|
|
Cursor="Arrow"
|
|
Maximum="{TemplateBinding ScrollableHeight}"
|
|
Minimum="0"
|
|
ViewportSize="{TemplateBinding ViewportHeight}"
|
|
Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}"
|
|
Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" />
|
|
|
|
<ScrollBar x:Name="PART_HorizontalScrollBar"
|
|
Grid.Row="1"
|
|
Grid.Column="0"
|
|
Background="{StaticResource White1Brush}"
|
|
AutomationProperties.AutomationId="HorizontalScrollBar"
|
|
Cursor="Arrow"
|
|
Maximum="{TemplateBinding ScrollableWidth}"
|
|
Minimum="0"
|
|
Orientation="Horizontal"
|
|
ViewportSize="{TemplateBinding ViewportWidth}"
|
|
Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}"
|
|
Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" />
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="materialDesign:ScrollViewerAssist.ShowSeparators"
|
|
Value="True" />
|
|
<Condition Property="ComputedVerticalScrollBarVisibility"
|
|
Value="Visible" />
|
|
</MultiTrigger.Conditions>
|
|
<Setter TargetName="PART_BottomSeparator"
|
|
Property="Visibility"
|
|
Value="Visible" />
|
|
</MultiTrigger>
|
|
|
|
<Trigger Property="VerticalOffset"
|
|
Value="0">
|
|
<Setter TargetName="PART_TopSeparator"
|
|
Property="Visibility"
|
|
Value="Hidden" />
|
|
</Trigger>
|
|
|
|
<Trigger Property="materialDesign:ScrollViewerAssist.ShowSeparators"
|
|
Value="False">
|
|
<Setter TargetName="PART_TopSeparator"
|
|
Property="Visibility"
|
|
Value="Hidden" />
|
|
</Trigger>
|
|
|
|
<Trigger Property="materialDesign:ScrollViewerAssist.IgnorePadding"
|
|
Value="False">
|
|
<Setter TargetName="PART_ScrollContentPresenter"
|
|
Property="Margin"
|
|
Value="{Binding Padding, RelativeSource={RelativeSource TemplatedParent}}" />
|
|
</Trigger>
|
|
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="materialDesign:ScrollViewerAssist.IsAutoHideEnabled"
|
|
Value="True" />
|
|
<Condition Property="ComputedVerticalScrollBarVisibility"
|
|
Value="Visible" />
|
|
<Condition Property="IsMouseOver"
|
|
Value="False" />
|
|
</MultiTrigger.Conditions>
|
|
<MultiTrigger.EnterActions>
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<DoubleAnimation Storyboard.TargetName="PART_VerticalScrollBar"
|
|
Storyboard.TargetProperty="Opacity"
|
|
To="0"
|
|
Duration="0:0:0.2" />
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</MultiTrigger.EnterActions>
|
|
<MultiTrigger.ExitActions>
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<DoubleAnimation Storyboard.TargetName="PART_VerticalScrollBar"
|
|
Storyboard.TargetProperty="Opacity"
|
|
To="1"
|
|
Duration="0:0:0.2" />
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</MultiTrigger.ExitActions>
|
|
</MultiTrigger>
|
|
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="materialDesign:ScrollViewerAssist.IsAutoHideEnabled"
|
|
Value="True" />
|
|
<Condition Property="ComputedHorizontalScrollBarVisibility"
|
|
Value="Visible" />
|
|
<Condition Property="IsMouseOver"
|
|
Value="False" />
|
|
</MultiTrigger.Conditions>
|
|
<MultiTrigger.EnterActions>
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<DoubleAnimation Storyboard.TargetName="PART_HorizontalScrollBar"
|
|
Storyboard.TargetProperty="Opacity"
|
|
To="0"
|
|
Duration="0:0:0.2" />
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</MultiTrigger.EnterActions>
|
|
<MultiTrigger.ExitActions>
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<DoubleAnimation Storyboard.TargetName="PART_HorizontalScrollBar"
|
|
Storyboard.TargetProperty="Opacity"
|
|
To="1"
|
|
Duration="0:0:0.2" />
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</MultiTrigger.ExitActions>
|
|
</MultiTrigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
|
|
<Style x:Key="LiviaScrollViewer"
|
|
TargetType="ScrollViewer">
|
|
<Setter Property="Template"
|
|
Value="{StaticResource LiviaScrollViewerTemplate}" />
|
|
<Setter Property="VerticalScrollBarVisibility"
|
|
Value="Auto"/>
|
|
</Style>
|
|
</ResourceDictionary> |