- 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>
編譯並執行上述程式碼時,將生成以下輸出:
建議您執行上述示例程式碼並嘗試一些其他屬性和事件。