- XAML 教程
- XAML - 首页
- XAML - 概述
- XAML - 环境设置
- 在 macOS 上编写 XAML 应用程序
- XAML 与 C# 代码
- XAML 与 VB.NET
- XAML - 构建块
- XAML - 控件
- XAML - 布局
- XAML - 事件处理
- XAML - 数据绑定
- XAML - 标记扩展
- XAML - 依赖属性
- XAML - 资源
- XAML - 模板
- XAML - 样式
- XAML - 触发器
- XAML - 调试
- XAML - 自定义控件
- XAML 有用资源
- XAML - 快速指南
- XAML - 有用资源
- XAML - 讨论
XAML - ScrollViewer
此控件提供了一个可滚动的区域,其中可以包含其他可见元素。ScrollViewer 类的层次继承如下:
属性
| 序号 | 属性及描述 |
|---|---|
| 1 | ComputedHorizontalScrollBarVisibility 获取一个值,该值指示水平滚动条是否可见。 |
| 2 | ComputedHorizontalScrollBarVisibilityPropertyy 标识 ComputedHorizontalScrollBarVisibility 依赖属性。 |
| 3 | HorizontalScrollBarVisibility 获取或设置一个值,该值指示是否应显示水平滚动条。 |
| 4 | HorizontalScrollBarVisibilityProperty 标识 HorizontalScrollBarVisibility 依赖属性。 |
| 5 | HorizontalScrollMode 获取或设置一个值,该值确定操作输入如何影响水平轴上的滚动行为。 |
| 6 | HorizontalScrollModeProperty 标识 HorizontalScrollMode 依赖属性。 |
| 7 | HorizontalSnapPointsAlignment 获取或设置一个值,该值指示现有捕捉点相对于初始视口如何水平对齐。 |
| 8 | HorizontalSnapPointsAlignmentProperty 标识 HorizontalSnapPointsAlignment 依赖属性。 |
| 9 | IsHorizontalScrollChainingEnabled 获取或设置一个值,该值指示是否从此子元素到其父元素(对于水平轴)启用滚动链接。 |
| 10 | IsHorizontalScrollChainingEnabledProperty 标识 IsHorizontalScrollChainingEnabled 依赖属性。 |
| 11 | IsScrollInertiaEnabled 获取或设置一个值,该值指示滚动操作是否应在其行为和值中包含惯性。 |
| 12 | IsScrollInertiaEnabledProperty 标识 IsScrollInertiaEnabled 依赖属性。 |
| 13 | IsVerticalScrollChainingEnabled 获取或设置一个值,该值指示是否从此子元素到其父元素(对于垂直轴)启用滚动链接。 |
| 14 | IsVerticalScrollChainingEnabledProperty 标识 IsVerticalScrollChainingEnabled 依赖属性。 |
| 15 | ScrollableHeight 获取一个值,该值表示可滚动区域的垂直大小;范围宽度与视口宽度之差。 |
| 16 | ScrollableHeightProperty 标识 ScrollableHeight 依赖属性。 |
| 17 | ScrollableWidth 获取一个值,该值表示可滚动区域的水平大小;范围宽度与视口宽度之差。 |
| 18 | ScrollableWidthProperty 标识 ScrollableWidth 依赖属性。 |
| 19 | VerticalScrollBarVisibility 获取或设置一个值,该值指示是否应显示垂直滚动条。 |
| 20 | VerticalScrollBarVisibilityProperty 标识 VerticalScrollBarVisibility 依赖属性。 |
| 21 | VerticalScrollMode 获取或设置一个值,该值确定操作输入如何影响垂直轴上的滚动行为。 |
| 22 | VerticalScrollModeProperty 标识 VerticalScrollMode 依赖属性。 |
事件
| 序号 | 事件及描述 |
|---|---|
| 1 | DirectManipulationCompleted 当 ScrollViewer 的任何直接操作完成时发生。 |
| 2 | DirectManipulationStarted 当 ScrollViewer 的任何直接操作开始时发生。 |
| 3 | ViewChanged 当滚动和缩放等操作导致视图发生更改时发生。 |
| 4 | ViewChanging 当滚动和缩放等操作导致视图发生更改时发生。 |
方法
| 序号 | 方法及描述 |
|---|---|
| 1 | GetHorizontalScrollBarVisibility 从指定的元素获取 HorizontalScrollBarVisibility 依赖属性/ScrollViewer.HorizontalScrollBarVisibility XAML 附加属性的值。 |
| 2 | GetHorizontalScrollMode 从指定的元素获取 HorizontalScrollMode 依赖属性/ScrollViewer.HorizontalScrollMode XAML 附加属性的值。 |
| 3 | GetIsDeferredScrollingEnabled 从指定的元素获取 IsDeferredScrollingEnabled 依赖属性/ScrollViewer.IsDeferredScrollingInertiaEnabled XAML 附加属性的值。 |
| 4 | GetIsHorizontalScrollChainingEnabled 从指定的元素获取 IsHorizontalScrollChainingEnabled 依赖属性/ScrollViewer.IsHorizontalScrollChainingEnabled XAML 附加属性的值。 |
| 5 | GetIsScrollInertiaEnabled 从指定的元素获取 IsScrollInertiaEnabled 依赖属性/ScrollViewer.IsScrollInertiaEnabled XAML 附加属性的值。 |
| 6 | GetIsVerticalScrollChainingEnabled 从指定的元素获取 IsVerticalScrollChainingEnabled 依赖属性/ScrollViewer.IsVerticalScrollChainingEnabled XAML 附加属性的值。 |
| 7 | GetVerticalScrollBarVisibility 从指定的元素获取 VerticalScrollBarVisibility 依赖属性/ScrollViewer.VerticalScrollBarVisibility XAML 附加属性的值。 |
| 8 | GetVerticalScrollMode 从指定的元素获取 VerticalScrollMode 依赖属性/ScrollViewer.VerticalScrollMode XAML 附加属性的值。 |
| 9 | InvalidateScrollInfo 当描述滚动区域的大小和位置的属性的值发生更改时调用。 |
| 10 | ScrollToHorizontalOffset 将 ScrollViewer 内的内容滚动到指定的水平偏移位置。 |
| 11 | ScrollToVerticalOffset 将 ScrollViewer 内的内容滚动到指定的垂直偏移位置。 |
| 12 | SetHorizontalScrollBarVisibility 设置指定元素上 HorizontalScrollMode 依赖属性/ScrollViewer.HorizontalScrollMode XAML 附加属性的值。 |
| 13 | SetIsDeferredScrollingEnabled 设置指定元素上 HorizontalScrollBarVisibility 依赖属性/ScrollViewer.HorizontalScrollBarVisibility XAML 附加属性的值。 |
| 14 | SetIsDeferredScrollingEnabled 设置指定元素上 IsDeferredScrollingEnabled 依赖属性/ScrollViewer.IsDeferredScrollingEnabled XAML 附加属性的值。 |
| 15 | SetIsHorizontalScrollChainingEnabled 设置指定元素上 IsHorizontalScrollChainingEnabled 依赖属性/ScrollViewer.IsHorizontalScrollChainingEnabled XAML 附加属性的值。 |
| 16 | SetIsScrollInertiaEnabled 设置指定元素上 IsScrollInertiaEnabled 依赖属性/ScrollViewer.IsScrollInertiaEnabled XAML 附加属性的值。 |
| 17 | SetIsVerticalScrollChainingEnabled 设置指定元素上 IsVerticalScrollChainingEnabled 依赖属性/ScrollViewer.IsVerticalScrollChainingEnabled XAML 附加属性的值。 |
| 18 | SetVerticalScrollBarVisibility 设置指定元素上 VerticalScrollBarVisibility 依赖属性/ScrollViewer.VerticalScrollBarVisibility XAML 附加属性的值。 |
| 19 | SetVerticalScrollMode 设置指定元素上 VerticalScrollMode 依赖属性/ScrollViewer.VerticalScrollMode XAML 附加属性的值。 |
示例
以下示例演示如何在 XAML 应用程序中添加 ScrollViewer。这是在其中添加了两个 TextBlock 并使用 ScrollViewer 初始化并设置了一些属性和事件的 XAML 代码。
<Window x:Class = "XAMLScrollViewer.MainWindow"
xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
Title = "MainWindow" Height = "550" Width = "604">
<Grid>
<StackPanel>
<!-- A large TextBlock. -->
<TextBlock Width = "300" TextWrapping = "Wrap" Margin = "0,0,0,30"
Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Sed ac mi ipsum. Phasellus vel malesuada mauris. Donec pharetra,
enim sit amet mattis tincidunt, felis nisi semper lectus, vel
porta diam nisi in augue. Pellentesque lacus tortor, aliquam et
faucibus id, rhoncus ut justo. Sed id lectus odio, eget pulvinardiam.
Suspendisse eleifend ornare libero, in luctus purus aliquet non.
Sed interdum, sem vitae rutrum rhoncus, felis ligula ultrices
sem, in eleifend eros ante id neque." />
<!-- The same large TextBlock, wrapped in a ScrollViewer. -->
<ScrollViewer Height = "200" Width = "200"
HorizontalScrollBarVisibility = "Auto"
VerticalScrollBarVisibility = "Auto">
<TextBlock Width = "300" TextWrapping = "Wrap"
Text = " This license governs use of code marked as “sample” or
“example” available on this web site without a license
agreement, as provided under the section above titled “NOTICE
SPECIFIC TO SOFTWARE AVAILABLE ON THIS WEB SITE.”
If you use such code (the “software”), you accept this license.
If you do not accept the license, do not use the software.
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Sed ac mi ipsum. Phasellus vel malesuada mauris.
Donec pharetra, enim sit amet mattis tincidunt, felis nisi semper lectus, vel porta diam nisi in augue.
Pellentesque lacus tortor, aliquam et faucibus id,
rhoncus ut justo. Sed id lectus odio, eget pulvinar diam.
Suspendisse eleifend ornare libero, in luctus purus aliquet non.
Sed interdum, sem vitae rutrum rhoncus,
felis ligula ultrices sem, in eleifend eros ante id neque." />
</ScrollViewer>
</StackPanel>
</Grid>
</Window>
编译并执行上述代码时,将生成以下输出:
建议您执行上述示例代码并尝试一些其他属性和事件。