WPF - ScrollViewer



ScrollViewer 是一种控件,它提供一个可滚动的区域,其中可以包含其他可见元素。ScrollViewer 类的层次继承如下:

Hierarchical of Scrollviewer

ScrollViewer 类常用属性

序号 属性和描述
1

ComputedHorizontalScrollBarVisibility

获取指示水平 ScrollBar 是否可见的值。

2

ComputedHorizontalScrollBarVisibilityProperty

标识 ComputedHorizontalScrollBarVisibility 依赖属性。

3

HorizontalScrollBarVisibility

获取或设置一个值,该值指示是否应显示水平 ScrollBar。

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

获取或设置一个值,该值指示是否应显示垂直 ScrollBar。

20

VerticalScrollBarVisibilityProperty

标识 VerticalScrollBarVisibility 依赖属性。

21

VerticalScrollMode

获取或设置一个值,该值确定操作输入如何影响垂直轴上的滚动行为。

22

VerticalScrollModeProperty

标识 VerticalScrollMode 依赖属性。

ScrollViewer 类常用事件

序号 事件和描述
1

DirectManipulationCompleted

当 ScrollViewer 的任何直接操作完成时发生。

2

DirectManipulationStarted

当 ScrollViewer 的任何直接操作开始时发生。

3

ViewChanged

当滚动和缩放等操作导致视图更改时发生。

4

ViewChanging

当滚动和缩放等操作导致视图更改时发生。

ScrollViewer 类常用方法

序号 方法和描述
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

设置指定的元素上的 HorizontalScrollBarVisibility 依赖属性/ScrollViewer.HorizontalScrollBarVisibility XAML 附加属性的值。

13

SetHorizontalScrollMode

设置指定的元素上的 HorizontalScrollMode 依赖属性/ScrollViewer.HorizontalScrollMode 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 附加属性的值。

示例

  • 让我们创建一个名为 **WPFScrollViewerControl** 的新 WPF 项目。

  • 以下示例演示如何在 XAML 应用程序中添加 ScrollViewer。

  • 我们将添加两个文本框和一个带有 ScrollViewer 的文本框,并用一些属性和事件初始化它们。

<Window x:Class = "WPFScrollViewerControl.MainWindow" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" 
   xmlns:d = "http://schemas.microsoft.com/expression/blend/2008" 
   xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006" 
   xmlns:local = "clr-namespace:WPFScrollViewerControl" 
   mc:Ignorable = "d" Title = "MainWindow" Height = "420" 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 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." /> 
				
         <!-- 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>

编译并执行上述代码后,将生成以下输出:

Output of Scrollviewer

我们建议您执行上述示例代码,并尝试 ScrollViewer 类的其他一些属性和事件。

wpf_controls.htm
广告