ScrollViewer控件

ScrollViewer控件包含一个水平和一个竖直滚动条以及一个可滚动的内容显示区域,在显示区域内可以放置其他可见控件。ScrollViewer控件的水平和垂直滚动条两端各有一个箭头,中间有一个可以上下或左右滑动的滑块。当放置在ScrollViewer控件中的内容超出它的边界时,会显示水平或竖直滚动条,通过移动滚动条上的滑块或单击滑动条两端的箭头,可以看到被隐藏部分的内容。

在XAML文件中,ScrollViewer控件的用法如下所示:

<ScrollViewer .../>

-或-

<ScrollViewer ...>

<!--添加可见控件-->

</ScrollViewer>

下面介绍一下ScrollViewer控件的几个常用属性:

  • VerticalScrollBarVisibility属性,设置垂直滚动条的可见性,它有4个属性值,分别是Auto,Disabled,Hidden和Visible。
  • HorizontalScrollBarVisibility属性,设置水平滚动条的可见性,它与VerticalScrollBarVisibility属性的用法一样。
  • IsEnabled属性,设置ScrollViewer控件是否使用滚动条。如果属性值为True,使用滚动条。如果属性值为False则滚动条无效。默认情况下IsEnabled值为True。

接下来通过一个示例来说明ScrollViewer控件的使用方法。

新建一个名为"ScrollViewerDemo"的Windows应用商店的空白应用程序项目,在MainPage.xaml文件的Grid元素中添加如下代码。

<ScrollViewer Height="200" Width="200" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">

<TextBlock Width="300" Height="300" TextWrapping="Wrap" FontSize="20" Text=" ScrollViewer控件包含一个水平和一个竖直滚动条以及一个可滚动的区域,在区域内可以放置其他可见控件。ScrollViewer控件的水平和垂直滚动条两端各有一个箭头,中间还有一个小滑块。当放置在ScrollViewer控件中的其他可见控件超出它的边界时,会显示水平或竖直滚动条,通过移动滑块或单击滑动条的箭头,可以看到可见控件的全部内容。" />

</ScrollViewer>

在上面的代码中添加了一个ScrollViewer控件,并设置其Height属性和Width属性的值为200, HorizontalScrollBarVisibility属性和VerticalScrollBarVisibility属性的值为Auto。

在ScrollViewer控件的内部放置一个TextBlock文本块,并在其中添加一些内容文字用于演示,设置此文本块的Height属性和Width属性的值为300,这将使文本块的大小超出ScrollViewer控件所设置的宽度与高度,因此ScrollViewer控件的滚动条将自动被显示,从而使文本块中的文本内容可以在ScrollViewer控件中滚动查看。

运行程序,TextBlock控件中的文本会显示在ScrollViewer控件的可滚动区域内,但显示的文本并不完整,用户可上下或左右移动滑块查看未显示部分的文本内容,效果如图4-31所示。

图4-31 ScrollViewer控件的使用

Win10系列:C#应用控件基础19的更多相关文章

  1. Win10系列:JavaScript 控件的使用

    向页面中添加的控件可分为两种类型:标准的HTML控件和WinJS库控件.其中标准的HTML控件是指HTML标准中定义的基本控件,如按钮和复选框:WinJS库控件是为开发基于JavaScript 的Wi ...

  2. WPF从我炫系列4---装饰控件的用法

    这一节的讲解中,我将为大家介绍WPF装饰控件的用法,主要为大家讲解一下几个控件的用法. ScrollViewer滚动条控件 Border边框控件 ViewBox自由缩放控件 1. ScrollView ...

  3. WPF 模仿 UltraEdit 文件查看器系列一 用户控件

    WPF 模仿 UltraEdit 文件查看器系列一 用户控件 运行环境:Win10 x64, NetFrameWork 4.8, 作者:乌龙哈里,日期:2019-05-10 章节: 起步 添加用户控件 ...

  4. C#控件系列--文本类控件

    C#控件系列--文本类控件         文本类控件主要包含Label.LinkLabel.Button.TextBox以及RichTextBox. Label 功能         Label用来 ...

  5. 重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree

    原文:重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree [源码下载] 重新想象 ...

  6. 重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试

    原文:重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试 [源码下载] 重新想象 Windows 8 Store ...

  7. WPF编游戏系列 之四 用户控件

    原文:WPF编游戏系列 之四 用户控件        在上一篇<WPF编游戏系列 之三 物品清单>中,对物品清单进行了演示,其中反复用到了同一组控件(如下图),而且 颜昌钢也指出在3.2. ...

  8. Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView、TTreeViewItem

    Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView.TTreeViewItem TScrollBox -> TCustomTreeView -> ...

  9. Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid、TGrid

    Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid.TGrid TStringGrid.TGrid 都是从 TCustomGrid 继承; 区别有:1 ...

随机推荐

  1. 本地node启动服务步骤

    启动node服务: 1.git bash here (node server-run.js) 2.如果第一次启动node服务,要根据提示装依赖文件npm install 依赖文件名 3.启动成功提示: ...

  2. MySQL AUTO_INCREMENT 学习总结

    之前有碰到过开发同事指出一张InnoDB表的自增列 AUTO_INCREMENT 值莫明的变大,由于这张表是通过mysqldump导出导入的. 问题排查: 1.首先,查看表表义的sql部分的 auto ...

  3. 4.Python3运算符

    4.1算数运算符(以下假设变量a为10,变量b为21) 实例操作: print(3 + 5) #数字3与5相加 print(3 - 5) #数字3与5相减 print(3 * 5) #数字3与5相乘 ...

  4. Kubernetes-Host网络模式应用

    目录贴:Kubernetes学习系列 在实际生产环境中,有些容器内应用(比如编码器)需要用到物理层面的网络资源(比如组播流).这就要求Kubernetes中的该Pod以HOST模式来启动.以下实验了K ...

  5. u-boot2010.06移植阶段三--norflash驱动

    2011-03-20 23:06:24 学习笔记: 效果图: 参考步骤: 一,把smdk2410 # 改成apple2440 #  1,在board/samsung/apple2440/apple24 ...

  6. go语言切片切片与指针

    go语言 1.切片的定义 切片不是真正意义上的动态数组,是引用类型. var arraySlice []int

  7. Bugku-CTF之点击一百万次

    Day16 点击一百万次 http://123.206.87.240:9001/test/ hints:JavaScript  

  8. Win32汇编学习(6):键盘输入消息

    这次,我们将要学习WINDOWS程序是如何处理键盘消息的. 理论: 因为大多数的PC只有一个键盘,所以所有运行中的WINDOWS程序必须共用它.WINDOWS 将负责把击键消息送到具有输入焦点的那个应 ...

  9. 论文笔记: Mutual Learning to Adapt for Joint Human Parsing and Pose Estimation

    Mutual Learning to Adapt for Joint Human Parsing and Pose Estimation 2018-11-03 09:58:58 Paper: http ...

  10. (转载)Unity UGUI鼠标点击UI不受影响方法IsPointerOverGameObject

    这几天在做捕鱼达人游戏时发现,当鼠标点击UI时,炮台的子弹也会发射子弹,这样会影响用户体验. 然后网上百度了一波,发现在UGUI系统上,EventSystem提供了一些方法.那就是EventSyste ...