- WPF 教程
- WPF - 首頁
- WPF - 概述
- WPF - 環境設定
- WPF - Hello World
- WPF - XAML 概述
- WPF - 元素樹
- WPF - 依賴屬性
- WPF - 路由事件
- WPF - 控制元件
- WPF - 佈局
- WPF - 佈局巢狀
- WPF - 輸入
- WPF - 命令列
- WPF - 資料繫結
- WPF - 資源
- WPF - 模板
- WPF - 樣式
- WPF - 觸發器
- WPF - 除錯
- WPF - 自定義控制元件
- WPF - 異常處理
- WPF - 本地化
- WPF - 互動
- WPF - 2D 圖形
- WPF - 3D 圖形
- WPF - 多媒體
- WPF 有用資源
- WPF - 快速指南
- WPF - 有用資源
- WPF - 討論
WPF - ScrollViewer
ScrollViewer 是一種控制元件,它提供一個可滾動的區域,其中可以包含其他可見元素。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>
編譯並執行上述程式碼後,將生成以下輸出:
我們建議您執行上述示例程式碼,並嘗試 ScrollViewer 類的其他一些屬性和事件。