WPF - ScrollViewer



ScrollViewer 是一種控制元件,它提供一個可滾動的區域,其中可以包含其他可見元素。ScrollViewer 類的層次繼承如下:

Hierarchical of 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>

編譯並執行上述程式碼後,將生成以下輸出:

Output of Scrollviewer

我們建議您執行上述示例程式碼,並嘗試 ScrollViewer 類的其他一些屬性和事件。

wpf_controls.htm
廣告
© . All rights reserved.