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. 如何发布第一个属于自己的npm包 到公网

    发布前的准备 1. 注册一个npm账号 前往NPM官网进行注册 2. 创建一个简单的包 在本地创建一个项目文件夹 mannymu_demo (名字自己取,不要和NPM上已有的包名重复冲突就好)然后通过 ...

  2. day02 Python列表的增删查改及常用操作

    列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li = [‘alex’,12 ...

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

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

  4. 基于ABP模块组件与依赖注入组件的项目插件开发

    注意,阅读本文,需要先阅读以下两篇文章,并且对依赖注入有一定的基础. 模块系统:http://www.cnblogs.com/mienreal/p/4537522.html 依赖注入:http://w ...

  5. Maven Web Projest经Update Projest报错:Cannot nest 'myApp/src/main/resource' inside 'myApp/src'. To enable the nesting exclude 'main/' from 'myApp/src'

    1,报错场景 2,解决方法 修改pom.xml,去掉该行:<sourceDirectory>src/</sourceDirectory>

  6. Android 性能优化之内存泄漏检测以及内存优化(中)

    https://blog.csdn.net/self_study/article/details/66969064 上篇博客我们写到了 Java/Android 内存的分配以及相关 GC 的详细分析, ...

  7. Windows SubSystem for Linux

    Summary of Windows SubSystem for Linux Install Ubuntu Run PowerShell as administrator and input: Ena ...

  8. mysql 热备份

    xtrabackup mysql 的备份和恢复 1.准备 安装依赖 yum install perl-DBD-MySQL perl-Time-HiRes libaio libaio-devel -y ...

  9. 【2.0】SpringBoot多环境yml文件配置

    一.使用Spring Boot Profiles 1. 使用yml文件 首先,我们先创建一个名为 application.yml的属性文件,如下: server: port: 8080 my: nam ...

  10. QThread使用——关于run和movetoThread的区别

    QThread 使用探讨 2010-10-23 00:30 注意:本文停止更新,请优先考虑 Qt 线程基础(QThread.QtConcurrent等) dbzhang800 2011.06.18 Q ...