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
廣告