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. Unity之流光效果

    效果如图: shader如下: Shader "Unlit/Walk light" { Properties { _MainTex ("Base (RGB), Alpha ...

  3. Linux+DDoS deflate 预防DDoS攻击

    使用DDoS脚本防止DDoS攻击   使用DDoS脚本防止DDoS攻击: DDoS概述: 分布式拒绝服务(DDoS:Distributed Denial of Service)攻击,指借助于客户/服务 ...

  4. QT创建TCP Socket通信

    最近在学习QT,了解到QT可以进行SOCKET网络通信,进行学习,并建立一个简单的聊天DEMO.为了测试是否能与VS2012下的程序进行通信,在VS2012下建立一个客户端程序,进行通信测试,发现可以 ...

  5. ★Pandas 零碎知识

    1 修改属性 1.1 修改1列的类型属性: df['总金额'] = pd.to_numeric(df['总金额']) #转变dataframe的1列为数值型 1.2 多列设为数值型:(使用DataFr ...

  6. python学习笔记:装饰器2

    python的装饰器本质是函数,为了不改变装饰目标函数内部代码而增加额外功能而存在 一.一般装饰函数实例: import datetime def func_name(func):#定义一个装饰函数, ...

  7. 剑指offer(3)从尾到头打印链表

    题目描述 输入一个链表,从尾到头打印链表每个节点的值. 题目分析 比较简单,主要注意下从尾到头,可以用栈可以用递归,我给出我比较喜欢的代码吧 代码 /* function ListNode(x){ t ...

  8. HBase scan setBatch和setCaching的区别

    HBase的查询实现只提供两种方式: 1.按指定RowKey获取唯一一条记录,get方法(org.apache.hadoop.hbase.client.Get) 2.按指定的条件获取一批记录,scan ...

  9. 变量和关系符和JAVA基本类型笔记与常考面试题

    变量的类型:数值型:整型(byte,short,int,long).浮点型(float,double)非数值型:布尔类型(boolean),字符型(char),字符串类型(String),其他引用型 ...

  10. RPM 包的构建 - SPEC 基础知识

    spec 文件 制作 rpm 软件包并不是一件复杂的工作,其中的关键在于编写软件包的 spec 描述文件. 要想制作一个 rpm 软件包就必须写一个软件包描述文件 spec.这个文件中包含了软件包的诸 ...