Silverlight - ScrollViewer



一些用户界面最终需要显示比可用空间所能容纳的更多信息。一个常见的解决方案是提供一个可滚动区域。Silverlight 通过 ScrollViewer 使这变得非常容易。您可以将其包装在任何元素周围。它必须是一个单子元素,但它可以是一个面板,如果您需要,该面板又可以包含更多子元素。

  • ScrollViewer 对子元素执行不受约束的布局,为其提供尽可能多的空间。

  • 查看器期望被置于受约束的布局环境中,因为其核心思想是调整固定空间以容纳大小可变的内容。

  • 然后,它会在必要时提供滚动条。子元素完全不会感知到滚动操作。

以下是ScrollViewer类的常用属性

序号 属性及说明
1

ComputedHorizontalScrollBarVisibility

获取一个值,该值指示水平滚动条是否可见。

2

ComputedHorizontalScrollBarVisibilityProperty

标识 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 依赖属性。

以下是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 附加属性的值。

以下是滚动视图属性的实现。

<UserControl 
   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:sdk = "http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" 
   x:Class = "ScrollViewerExample.MainPage" 
   mc:Ignorable = "d" 
   d:DesignHeight = "300" d:DesignWidth = "400"> 
   
   <Grid x:Name = "LayoutRoot" Background = "White"> 
      <ScrollViewer HorizontalScrollBarVisibility = "Auto" 
         VerticalScrollBarVisibility = "Auto"> 
			
         <StackPanel> 
            <Rectangle Fill = "Gray" Width = "100" Height = "100" /> 
            <Button x:Name = "button" Content = "Button" Width = "75"/>  
            <sdk:Calendar Height = "169" Width = "230"/> 
            <Rectangle Fill = "AliceBlue" Width = "475" Height = "100" /> 
         </StackPanel>
			
      </ScrollViewer> 
		
   </Grid> 
	
</UserControl> 

编译上述代码后,您将看到以下输出。

Scroll Viewer

您可以看到您可以四处滚动,这适用于任何内容,例如形状、位图或更复杂的内容,例如包含其他用户界面元素的 Grid。

silverlight_constrained_vs_unconstrained.htm
广告
© . All rights reserved.