有时候需要比较细长的滚动条, 也不用管实不实用 好看就是了

github:https://github.com/442040292/ScrollViewStyleDemo

下载:https://download.csdn.net/download/sinat_30224769/16296651

直接上 Style

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:sys="clr-namespace:System;assembly=mscorlib"><sys:Double x:Key="scrollRadio">5</sys:Double><sys:Double x:Key="scrollSize">10</sys:Double><ControlTemplate x:Key="ScrollViewerControlTemplateSlender" 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="Corner" Grid.Column="1" Fill="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" Grid.Row="1"/>--><ScrollContentPresenter x:Name="PART_ScrollContentPresenter" CanContentScroll="{TemplateBinding CanContentScroll}" CanHorizontallyScroll="False" CanVerticallyScroll="False" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Grid.Column="0" Margin="{TemplateBinding Padding}" Grid.Row="0"/><ScrollBar x:Name="PART_VerticalScrollBar"  AutomationProperties.AutomationId="VerticalScrollBar" Cursor="Arrow" Grid.Column="1" Maximum="{TemplateBinding ScrollableHeight}" Minimum="0" Grid.Row="0" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportHeight}" Style="{DynamicResource ScrollBarStyleSlender}"/><ScrollBar x:Name="PART_HorizontalScrollBar" AutomationProperties.AutomationId="HorizontalScrollBar" Cursor="Arrow" Grid.Column="0" Maximum="{TemplateBinding ScrollableWidth}" Minimum="0" Orientation="Horizontal" Grid.Row="1" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}"  Style="{DynamicResource ScrollBarStyleSlender}"/></Grid></ControlTemplate><SolidColorBrush x:Key="ScrollBar.Static.Background" Color="#F0F0F0"/><SolidColorBrush x:Key="ScrollBar.Static.Border" Color="#F0F0F0"/><SolidColorBrush x:Key="ScrollBar.Pressed.Glyph" Color="#FFFFFF"/><SolidColorBrush x:Key="ScrollBar.MouseOver.Glyph" Color="#000000"/><SolidColorBrush x:Key="ScrollBar.Disabled.Glyph" Color="#BFBFBF"/><SolidColorBrush x:Key="ScrollBar.Static.Glyph" Color="#606060"/><Style x:Key="FocusVisual"><Setter Property="Control.Template"><Setter.Value><ControlTemplate><Rectangle Margin="2" SnapsToDevicePixels="true" Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" StrokeThickness="1" StrokeDashArray="1 2"/></ControlTemplate></Setter.Value></Setter></Style><SolidColorBrush x:Key="ScrollBar.MouseOver.Background" Color="#DADADA"/><SolidColorBrush x:Key="ScrollBar.MouseOver.Border" Color="#DADADA"/><SolidColorBrush x:Key="ScrollBar.Pressed.Background" Color="#606060"/><SolidColorBrush x:Key="ScrollBar.Pressed.Border" Color="#606060"/><SolidColorBrush x:Key="ScrollBar.Disabled.Background" Color="#F0F0F0"/><SolidColorBrush x:Key="ScrollBar.Disabled.Border" Color="#F0F0F0"/><Style x:Key="ScrollBarButton" TargetType="{x:Type RepeatButton}"><Setter Property="FocusVisualStyle" Value="{StaticResource FocusVisual}"/><Setter Property="BorderThickness" Value="1"/><Setter Property="HorizontalContentAlignment" Value="Center"/><Setter Property="VerticalContentAlignment" Value="Center"/><Setter Property="Padding" Value="1"/><Setter Property="Focusable" Value="false"/><Setter Property="IsTabStop" Value="false"/><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type RepeatButton}"><Border x:Name="border" BorderBrush="{StaticResource ScrollBar.Static.Border}" BorderThickness="1" Background="{StaticResource ScrollBar.Static.Background}" SnapsToDevicePixels="true"><ContentPresenter x:Name="contentPresenter" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/></Border><ControlTemplate.Triggers><Trigger Property="IsMouseOver" Value="true"><Setter Property="Background" TargetName="border" Value="{StaticResource ScrollBar.MouseOver.Background}"/><Setter Property="BorderBrush" TargetName="border" Value="{StaticResource ScrollBar.MouseOver.Border}"/></Trigger><Trigger Property="IsPressed" Value="true"><Setter Property="Background" TargetName="border" Value="{StaticResource ScrollBar.Pressed.Background}"/><Setter Property="BorderBrush" TargetName="border" Value="{StaticResource ScrollBar.Pressed.Border}"/></Trigger><Trigger Property="IsEnabled" Value="false"><Setter Property="Opacity" TargetName="contentPresenter" Value="0.56"/><Setter Property="Background" TargetName="border" Value="{StaticResource ScrollBar.Disabled.Background}"/><Setter Property="BorderBrush" TargetName="border" Value="{StaticResource ScrollBar.Disabled.Border}"/></Trigger></ControlTemplate.Triggers></ControlTemplate></Setter.Value></Setter></Style><Style x:Key="RepeatButtonTransparent" 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 Fill="{TemplateBinding Background}" Height="{TemplateBinding Height}" Width="{TemplateBinding Width}"/></ControlTemplate></Setter.Value></Setter></Style><SolidColorBrush x:Key="ScrollBar.MouseOver.Thumb" Color="#A6A6A6"/><SolidColorBrush x:Key="ScrollBar.Pressed.Thumb" Color="#606060"/><SolidColorBrush x:Key="ScrollBar.Static.Thumb" Color="#CDCDCD"/><Style x:Key="ScrollBarThumbVertical" 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 x:Name="rectangle"  RadiusX="{StaticResource scrollRadio}" RadiusY="{StaticResource scrollRadio}"  Fill="{StaticResource ScrollBar.Static.Thumb}" Height="{TemplateBinding Height}" SnapsToDevicePixels="True" Width="{TemplateBinding Width}"/><ControlTemplate.Triggers><Trigger Property="IsMouseOver" Value="true"><Setter Property="Fill" TargetName="rectangle" Value="{StaticResource ScrollBar.MouseOver.Thumb}"/></Trigger><Trigger Property="IsDragging" Value="true"><Setter Property="Fill" TargetName="rectangle" Value="{StaticResource ScrollBar.Pressed.Thumb}"/></Trigger></ControlTemplate.Triggers></ControlTemplate></Setter.Value></Setter></Style><Style x:Key="ScrollBarThumbHorizontal" 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 x:Name="rectangle" RadiusX="{StaticResource scrollRadio}" RadiusY="{StaticResource scrollRadio}" Fill="{StaticResource ScrollBar.Static.Thumb}" Height="{TemplateBinding Height}" SnapsToDevicePixels="True" Width="{TemplateBinding Width}"/><ControlTemplate.Triggers><Trigger Property="IsMouseOver" Value="true"><Setter Property="Fill" TargetName="rectangle" Value="{StaticResource ScrollBar.MouseOver.Thumb}"/></Trigger><Trigger Property="IsDragging" Value="true"><Setter Property="Fill" TargetName="rectangle" Value="{StaticResource ScrollBar.Pressed.Thumb}"/></Trigger></ControlTemplate.Triggers></ControlTemplate></Setter.Value></Setter></Style><Style x:Key="ScrollBarStyleSlender" TargetType="{x:Type ScrollBar}"><Setter Property="Stylus.IsPressAndHoldEnabled" Value="false"/><Setter Property="Stylus.IsFlicksEnabled" Value="false"/><Setter Property="Background" Value="{StaticResource ScrollBar.Static.Background}"/><Setter Property="BorderBrush" Value="{StaticResource ScrollBar.Static.Border}"/><Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/><Setter Property="BorderThickness" Value="1,0"/><Setter Property="Width" Value="{StaticResource scrollSize}"/><Setter Property="MinWidth" Value="{StaticResource scrollSize}"/><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type ScrollBar}"><Grid x:Name="Bg" SnapsToDevicePixels="true"><Grid.RowDefinitions><RowDefinition MaxHeight="{DynamicResource {x:Static SystemParameters.VerticalScrollBarButtonHeightKey}}"/><RowDefinition Height="0.00001*"/><RowDefinition MaxHeight="{DynamicResource {x:Static SystemParameters.VerticalScrollBarButtonHeightKey}}"/></Grid.RowDefinitions><!--<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Grid.Row="1"/>--><!--滚动条背景--><Rectangle RadiusX="{StaticResource scrollRadio}" RadiusY="{StaticResource scrollRadio}" Stroke="{TemplateBinding BorderBrush}" StrokeThickness="{TemplateBinding BorderThickness}" Fill="{TemplateBinding Background}" Grid.Row="1"/><Track x:Name="PART_Track" IsDirectionReversed="true" IsEnabled="{TemplateBinding IsMouseOver}" Grid.Row="1"><Track.DecreaseRepeatButton><RepeatButton Command="{x:Static ScrollBar.PageUpCommand}" Style="{StaticResource RepeatButtonTransparent}"/></Track.DecreaseRepeatButton><Track.IncreaseRepeatButton><RepeatButton Command="{x:Static ScrollBar.PageDownCommand}" Style="{StaticResource RepeatButtonTransparent}"/></Track.IncreaseRepeatButton><Track.Thumb><!--滚动条滑块--><Thumb Style="{StaticResource ScrollBarThumbVertical}"/></Track.Thumb></Track></Grid></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="{StaticResource scrollSize}"/><Setter Property="MinHeight" Value="{StaticResource scrollSize}"/><Setter Property="BorderThickness" Value="0,1"/><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type ScrollBar}"><Grid x:Name="Bg" SnapsToDevicePixels="true"><Grid.ColumnDefinitions><ColumnDefinition MaxWidth="{DynamicResource {x:Static SystemParameters.HorizontalScrollBarButtonWidthKey}}"/><ColumnDefinition Width="0.00001*"/><ColumnDefinition MaxWidth="{DynamicResource {x:Static SystemParameters.HorizontalScrollBarButtonWidthKey}}"/></Grid.ColumnDefinitions><!--<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Grid.Column="1"/>--><!--滚动条背景--><Rectangle RadiusX="{StaticResource scrollRadio}" RadiusY="{StaticResource scrollRadio}" Stroke="{TemplateBinding BorderBrush}" StrokeThickness="{TemplateBinding BorderThickness}" Fill="{TemplateBinding Background}" Grid.Column="1"/><Track x:Name="PART_Track" Grid.Column="1" IsEnabled="{TemplateBinding IsMouseOver}"><Track.DecreaseRepeatButton><RepeatButton Command="{x:Static ScrollBar.PageLeftCommand}" Style="{StaticResource RepeatButtonTransparent}"/></Track.DecreaseRepeatButton><Track.IncreaseRepeatButton><RepeatButton Command="{x:Static ScrollBar.PageRightCommand}" Style="{StaticResource RepeatButtonTransparent}"/></Track.IncreaseRepeatButton><Track.Thumb><!--滚动条滑块--><Thumb Style="{StaticResource ScrollBarThumbHorizontal}"/></Track.Thumb></Track></Grid></ControlTemplate></Setter.Value></Setter></Trigger></Style.Triggers></Style></ResourceDictionary>

实际上没改很多内容  直接用原模版改了一下

难点是要看懂,每个元素代表的是什么,了解了组成就很容易改了

修改模板的方式

1.

2.

WPF ScrollViewer 仿苹果 细长 滚动条相关推荐

  1. 滚动条——WPF ScrollViewer的应用

    WPF ScrollViewer的应用 我们知道在一个限定高的窗体和容器中,想要把内容显示完是有些问题的,这个时候我们就要使用类似于浏览器的那个滚动条的效果了,在wpf中也同样如此,最近就碰到了这样的 ...

  2. WPF ScrollViewer滚动条根据内容自动滚动到底部

    WPF ScrollViewer包裹的容器中的如果出现动态填充,在填充的过程中需要最新填充的数据始终显示在UI上时,如果填充内容高度超出控件实际高度时,默认滚动条是不会进行垂直偏移设置的,新增加的内容 ...

  3. iphonex重量_精仿苹果iPhone X手机配置介绍

    精仿苹果iPhone X手机配置介绍 [上市时间] 2017年10月最新版 [屏幕色彩] 1600万 [分 辨 率] 1920X1080 [屏幕尺寸] 5.8英寸IPS全视角电容式触摸屏 [处 理 器 ...

  4. 来自法国的山寨苹果系统——梨子系统PearOS,精美仿苹果风格的免费Linux操作系统(颇有iOS和OSX的神...

    我们都知道苹果 OS X 和 iOS 操作系统的设计都非常讨好人,但基本上只能购买 MacBook 或 iPhone.iPad 等设备才能体验它们.不过,今天被我发现了一款可以在PC上安装的精美仿苹果 ...

  5. 仿苹果的导航,有点凹陷的感觉

    仿苹果的导航 也许很多人会用到吧. 网址:http://www.kriesi.at/wp-content/ ... l/kwicks_final.html 点击下载! 转载于:https://www. ...

  6. 小马哥----高仿苹果5se 机型界面图面面观,低配机型 谨防假冒

    遇到的这款高仿苹果5se 主板芯片为6572 nand字库 整机连接手机调换到内存卡模式.只有12m 坑爹的山寨 上图拆机图与整机前后图

  7. 小马哥----高仿苹果6S A236 刷机拆机主板图与开机界面图 更新解锁界面 全网通4G 警惕

    高仿苹果的版本较多 A系列   R系列    LT系列    Q系列  TD系列  S系列 等等机型版本 刷机建议要拆机看主板型号来救砖 LT系列的有LT6082     LT6000V     LT ...

  8. 小马哥---高仿苹果6 R7226刷机拆机主板图与开机识别图 修改WiFi信号增强

    高仿苹果6与6s  6sp系列版本较多  截止目前遇到的多达几十种 其中A系列的  如A233  A231 A235  A236新版与旧版系列的如A192 A193 A185 A175等等 R系列   ...

  9. 小马哥----高仿苹果6S A235刷机拆机图与开机界面图 真八核6735芯片 精仿系列机

    高仿苹果的版本较多 A系列   R系列    LT系列    Q系列  TD系列  S系列 等等机型版本 刷机建议要拆机看主板型号来救砖 LT系列的有LT6082     LT6000V     LT ...

  10. HTML5仿苹果Siri动画js特效

    下载地址HTML5仿苹果Siri动画特效是一款基于HTML5+CSS3制作的黑色全屏Siri打开界面特效. dd:

最新文章

  1. mysql主键自增长空缺_Mysql 主键自增长auto_increment问题分析
  2. 关于sam9x60板卡的调试
  3. python多线程下载m3u8文件,python 实现多线程下载m3u8格式视频并使用fmmpeg合并
  4. 通过poi的XSSF实现生成excel文件
  5. SpringCloud Ribbon之概述(一)
  6. 优秀的CSS布局大全
  7. 深度学习论文TOP10,2019一季度研究进展大盘点
  8. 关于Oracle默认用户名system密码不正确登录不上解决方案
  9. Android教程 第五章 常用UI界面控件
  10. HDU 1260: Tickets
  11. 收藏一些名人的博客,有空多看看
  12. virtualbox中ubuntu虚拟机安装增强功能
  13. Biaofun讲解短视频营销对于2021年的大势所趋
  14. python生成png图片_python通过pil模块将raw图片转换成png图片的方法
  15. 使用ffmpeg将m3u8文件转为mp4
  16. 科研论文翻译软件|无广告|强力推荐
  17. 七牛云刷新缓存(cdn刷新)
  18. 红帽linux挂载光盘_linux挂载光盘
  19. Java中Math.ceil()方法具有什么功能呢?
  20. 6. Jetpack---Paging你知道怎样上拉加载吗?

热门文章

  1. linux smtp ip伪造,邮箱伪造之搭建匿名SMTP服务器
  2. 安装set 安装ptf框架
  3. Win300英雄服务器不显示,win7系统玩不了300英雄的解决方法
  4. 东八区转为0时区_世界时间与北京时间怎么转换,世界标准(0时差)时间以哪个国家为准?...
  5. 15道经典大数据面试题
  6. 2.4 分块矩阵(第2章矩阵代数)
  7. 洛谷P2342 叠积木
  8. 关于kdb_trap_immed函数中$1号中断的详解(来自liujian)
  9. Ant design vue 表格合并 合并行 合并列
  10. [每日一雷] C++多线程unique_lock condition_varibale mutex 动态释放内存泄露问题delete出现corrupted unsorted chunks