|
- <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
-
-
- <!--#region ScrollViewerStyle-->
- <ControlTemplate x:Key="MyScrollViewer" TargetType="{x:Type ScrollViewer}">
- <!-- View区域背景色 -->
- <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="Corner"
- Grid.Row="1"
- Grid.Column="1"
- Fill="White" />
- <ScrollContentPresenter
- x:Name="PART_ScrollContentPresenter"
- Grid.Row="0"
- Grid.Column="0"
- Margin="{TemplateBinding Padding}"
- CanContentScroll="{TemplateBinding CanContentScroll}"
- CanHorizontallyScroll="False"
- CanVerticallyScroll="False"
- Content="{TemplateBinding Content}"
- ContentTemplate="{TemplateBinding ContentTemplate}" />
- <ScrollBar
- x:Name="PART_VerticalScrollBar"
- Grid.Row="0"
- Grid.Column="1"
- AutomationProperties.AutomationId="VerticalScrollBar"
- Cursor="Arrow"
- Maximum="{TemplateBinding ScrollableHeight}"
- Minimum="0"
- Style="{DynamicResource MyScrollBarStyle}"
- 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"
- AutomationProperties.AutomationId="HorizontalScrollBar"
- Cursor="Arrow"
- Maximum="{TemplateBinding ScrollableWidth}"
- Minimum="0"
- Orientation="Horizontal"
- Style="{DynamicResource MyScrollBarStyle}"
- ViewportSize="{TemplateBinding ViewportWidth}"
- Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}"
- Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" />
- </Grid>
- </ControlTemplate>
- <SolidColorBrush x:Key="ScrollBarDisabledBackground" Color="#F4F4F4" />
-
- <Style x:Key="VerticalScrollBarPageButton" TargetType="{x:Type RepeatButton}">
- <Setter Property="OverridesDefaultStyle" Value="true" />
- <Setter Property="Background" Value="Transparent" />
- <Setter Property="Focusable" Value="false" />
- <Setter Property="IsTabStop" Value="false" />
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type RepeatButton}">
- <Rectangle
- Width="{TemplateBinding Width}"
- Height="{TemplateBinding Height}"
- Fill="{TemplateBinding Background}" />
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- <!-- 滚动条颜色、圆角等设置 -->
- <Style x:Key="ScrollBarThumb" TargetType="{x:Type Thumb}">
- <Setter Property="OverridesDefaultStyle" Value="true" />
- <Setter Property="IsTabStop" Value="false" />
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type Thumb}">
- <!-- 滚动条颜色和圆角设置 -->
- <Rectangle
- Name="thumbRect"
- Fill="#03ffea"
- RadiusX="3"
- RadiusY="3" />
- <!-- 鼠标拉动滚动条时的颜色 -->
- <ControlTemplate.Triggers>
- <Trigger Property="IsMouseOver" Value="True">
- <Setter TargetName="thumbRect" Property="Fill" Value="CornflowerBlue" />
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- <Style x:Key="HorizontalScrollBarPageButton" TargetType="{x:Type RepeatButton}">
- <Setter Property="OverridesDefaultStyle" Value="true" />
- <Setter Property="Background" Value="Transparent" />
- <Setter Property="Focusable" Value="false" />
- <Setter Property="IsTabStop" Value="false" />
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type RepeatButton}">
- <Rectangle
- Width="{TemplateBinding Width}"
- Height="{TemplateBinding Height}"
- Fill="{TemplateBinding Background}" />
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- <Style x:Key="MyScrollBarStyle" TargetType="{x:Type ScrollBar}">
- <Setter Property="Background" Value="AliceBlue" />
- <Setter Property="Stylus.IsPressAndHoldEnabled" Value="false" />
- <Setter Property="Stylus.IsFlicksEnabled" Value="false" />
- <!-- 滚动条宽度 -->
- <Setter Property="Width" Value="8" />
- <Setter Property="MinWidth" Value="6" />
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type ScrollBar}">
- <!-- 滚动条背景色 -->
- <Grid
- x:Name="Bg"
- Width="8"
- Background="#001f55"
- SnapsToDevicePixels="true">
- <Grid.RowDefinitions>
- <RowDefinition />
- </Grid.RowDefinitions>
- <Track
- x:Name="PART_Track"
- IsDirectionReversed="true"
- IsEnabled="{TemplateBinding IsMouseOver}">
- <Track.DecreaseRepeatButton>
- <RepeatButton Command="{x:Static ScrollBar.PageUpCommand}" Style="{StaticResource VerticalScrollBarPageButton}" />
- </Track.DecreaseRepeatButton>
- <Track.IncreaseRepeatButton>
- <RepeatButton Command="{x:Static ScrollBar.PageDownCommand}" Style="{StaticResource VerticalScrollBarPageButton}" />
- </Track.IncreaseRepeatButton>
- <Track.Thumb>
- <Thumb Style="{StaticResource ScrollBarThumb}" />
- </Track.Thumb>
- </Track>
- </Grid>
- <ControlTemplate.Triggers>
- <Trigger Property="IsEnabled" Value="false">
- <Setter TargetName="Bg" Property="Background" Value="{StaticResource ScrollBarDisabledBackground}" />
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- <Style.Triggers>
- <Trigger Property="Orientation" Value="Horizontal">
- <Setter Property="Width" Value="Auto" />
- <Setter Property="MinWidth" Value="0" />
- <Setter Property="Height" Value="6" />
- <Setter Property="MinHeight" Value="6" />
- <Setter Property="Background" Value="AliceBlue" />
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type ScrollBar}">
- <Grid
- x:Name="Bg"
- Background="Red"
- SnapsToDevicePixels="true">
- <Grid.ColumnDefinitions>
- <ColumnDefinition />
- </Grid.ColumnDefinitions>
- <Track x:Name="PART_Track" IsEnabled="{TemplateBinding IsMouseOver}">
- <Track.DecreaseRepeatButton>
- <RepeatButton Command="{x:Static ScrollBar.PageLeftCommand}" Style="{StaticResource HorizontalScrollBarPageButton}" />
- </Track.DecreaseRepeatButton>
- <Track.IncreaseRepeatButton>
- <RepeatButton Command="{x:Static ScrollBar.PageRightCommand}" Style="{StaticResource HorizontalScrollBarPageButton}" />
- </Track.IncreaseRepeatButton>
- <Track.Thumb>
- <Thumb Style="{StaticResource ScrollBarThumb}" />
- </Track.Thumb>
- </Track>
- </Grid>
- <ControlTemplate.Triggers>
- <Trigger Property="IsEnabled" Value="false">
- <Setter TargetName="Bg" Property="Background" Value="{StaticResource ScrollBarDisabledBackground}" />
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Trigger>
- </Style.Triggers>
- </Style>
- <!--#endregion-->
-
- </ResourceDictionary>
|