
- Silverlight 教程
- Silverlight - 首頁
- Silverlight - 概述
- Silverlight - 環境設定
- Silverlight - 快速入門
- Silverlight - XAML 概述
- Silverlight - 專案型別
- Silverlight - 固定佈局
- Silverlight - 動態佈局
- 受約束與不受約束
- Silverlight - CSS
- Silverlight - 控制元件
- Silverlight - 按鈕
- Silverlight - 內容模型
- Silverlight - ListBox
- Silverlight - 模板
- Silverlight - 可視狀態
- Silverlight - 資料繫結
- Silverlight - 瀏覽器整合
- Silverlight - 瀏覽器外執行
- Silverlight - 應用程式和資源
- Silverlight - 檔案訪問
- Silverlight - 檢視模型
- Silverlight - 輸入處理
- Silverlight - 隔離儲存
- Silverlight - 文字
- Silverlight - 動畫
- Silverlight - 影片和音訊
- Silverlight - 列印
- Silverlight 有用資源
- Silverlight - 快速指南
- Silverlight - 有用資源
- Silverlight - 討論
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>
編譯上述程式碼後,您將看到以下輸出。

您可以看到您可以四處滾動,這適用於任何內容,例如形狀、點陣圖或更復雜的內容,例如包含其他使用者介面元素的 Grid。