Silverlight-ScrollViewer

一部のユーザーインターフェイスでは、使用可能なスペースに収まるよりも多くの情報を表示する必要があります。これに対する一般的な解決策の1つは、スクロール可能な領域を提供することです。Silverlightを使用すると、ScrollViewerを使用してこれを非常に簡単に行うことができます。これを任意の要素にラップできます。単一の子要素である必要がありますが、必要に応じてさらに多くの子を含むパネルにすることもできます。

  • ザ・ ScrollViewer 子に対して制約のないレイアウトを実行し、必要なだけのスペースを提供します。

  • 全体的なアイデアは、可変サイズのコンテンツを保持するために固定スペースを適応させることであるため、視聴者は制約されたレイアウトコンテキストに置かれることを期待しています。

  • その後、必要に応じてスクロールバーを提供します。子要素は、スクロールされることを完全に認識していません。

以下に一般的に使用されるものを示します properties の ScrollViewer クラス。

シニア番号 プロパティと説明
1

ComputedHorizontalScrollBarVisibility

水平スクロールバーが表示されているかどうかを示す値を取得します。

2

ComputedHorizontalScrollBarVisibilityProperty

ComputedHorizo​​ntalScrollBarVisibility依存関係プロパティを識別します。

3

HorizontalScrollBarVisibility

水平スクロールバーを表示するかどうかを示す値を取得または設定します。

4

HorizontalScrollBarVisibilityProperty

Horizo​​ntalScrollBarVisibility依存関係プロパティを識別します。

5

HorizontalScrollMode

操作入力が横軸のスクロール動作にどのように影響するかを決定する値を取得または設定します。

6

HorizontalScrollModeProperty

Horizo​​ntalScrollMode依存関係プロパティを識別します。

7

HorizontalSnapPointsAlignment

既存のスナップポイントが最初のビューポートに対してどのように水平に配置されているかを示す値を取得または設定します。

8

HorizontalSnapPointsAlignmentProperty

Horizo​​ntalSnapPointsAlignment依存関係プロパティを識別します。

9

IsHorizontalScrollChainingEnabled

横軸について、この子からその親へのスクロールチェーンが有効かどうかを示す値を取得または設定します。

10

IsHorizontalScrollChainingEnabledProperty

IsHorizo​​ntalScrollChainingEnabled依存関係プロパティを識別します。

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依存関係プロパティを識別します。

以下に一般的に使用されるものを示します events の ScrollViewer クラス。

シニア番号 イベントと説明
1

DirectManipulationCompleted

ScrollViewerの直接操作が終了したときに発生します。

2

DirectManipulationStarted

ScrollViewerの直接操作が開始されたときに発生します。

3

ViewChanged

スクロールやズームなどの操作によってビューが変更された場合に発生します。

4

ViewChanging

スクロールやズームなどの操作によってビューが変更された場合に発生します。

以下に一般的に使用されるものを示します methods の ScrollViewer クラス。

シニア番号 方法と説明
1

GetHorizontalScrollBarVisibility

指定された要素から、Horizo​​ntalScrollBarVisibility依存関係プロパティ/ ScrollViewer.Horizo​​ntalScrollBarVisibilityXAML添付プロパティの値を取得します。

2

GetHorizontalScrollMode

指定された要素からHorizo​​ntalScrollMode依存関係プロパティ/ScrollViewer.Horizo​​ntalScrollModeXAML添付プロパティの値を取得します。

3

GetIsDeferredScrollingEnabled

指定された要素から、IsDeferredScrollingEnabled依存関係プロパティ/ ScrollViewer.IsDeferredScrollingInertiaEnabledXAML添付プロパティの値を取得します。

4

GetIsHorizontalScrollChainingEnabled

指定された要素から、IsHorizo​​ntalScrollChainingEnabled依存関係プロパティ/ ScrollViewer.IsHorizo​​ntalScrollChainingEnabledXAML添付プロパティの値を取得します。

5

GetIsScrollInertiaEnabled

指定された要素からIsScrollInertiaEnabled依存関係プロパティ/ScrollViewer.IsScrollInertiaEnabledXAML添付プロパティの値を取得します。

6

GetIsVerticalScrollChainingEnabled

指定された要素から、IsVerticalScrollChainingEnabled依存関係プロパティ/ ScrollViewer.IsVerticalScrollChainingEnabledXAML添付プロパティの値を取得します。

7

GetVerticalScrollBarVisibility

指定された要素から、VerticalScrollBarVisibility依存関係プロパティ/ ScrollViewer.VerticalScrollBarVisibilityXAML添付プロパティの値を取得します。

8

GetVerticalScrollMode

指定された要素から、VerticalScrollMode依存関係プロパティ/ ScrollViewer.VerticalScrollModeXAML添付プロパティの値を取得します。

9

InvalidateScrollInfo

スクロール領域のサイズと場所を表すプロパティの値が変更されたときに呼び出されます。

10

ScrollToHorizontalOffset

ScrollViewer内のコンテンツを指定された水平オフセット位置にスクロールします。

11

ScrollToVerticalOffset

ScrollViewer内のコンテンツを指定された垂直オフセット位置にスクロールします。

12

SetHorizontalScrollBarVisibility

指定された要素のHorizo​​ntalScrollBarVisibility依存関係プロパティ/ScrollViewer.Horizo​​ntalScrollBarVisibilityXAML添付プロパティの値を設定します。

13

SetHorizontalScrollMode

指定された要素にHorizo​​ntalScrollMode依存関係プロパティ/ScrollViewer.Horizo​​ntalScrollModeXAML添付プロパティの値を設定します。

14

SetIsDeferredScrollingEnabled

指定された要素のIsDeferredScrollingEnabled依存関係プロパティ/ScrollViewer.IsDeferredScrollingEnabledXAML添付プロパティの値を設定します。

15

SetIsHorizontalScrollChainingEnabled

指定された要素のIsHorizo​​ntalScrollChainingEnabled依存関係プロパティ/ScrollViewer.IsHorizo​​ntalScrollChainingEnabledXAML添付プロパティの値を設定します。

16

SetIsScrollInertiaEnabled

指定された要素のIsScrollInertiaEnabled依存関係プロパティ/ScrollViewer.IsScrollInertiaEnabledXAML添付プロパティの値を設定します。

17

SetIsVerticalScrollChainingEnabled

指定された要素のIsVerticalScrollChainingEnabled依存関係プロパティ/ScrollViewer.IsVerticalScrollChainingEnabledXAML添付プロパティの値を設定します。

18

SetVerticalScrollBarVisibility

指定された要素のVerticalScrollBarVisibility依存関係プロパティ/ScrollViewer.VerticalScrollBarVisibilityXAML添付プロパティの値を設定します。

19

SetVerticalScrollMode

指定された要素のVerticalScrollMode依存関係プロパティ/ScrollViewer.VerticalScrollModeXAML添付プロパティの値を設定します。

以下に、スクロールビュープロパティの実装を示します。

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

上記のコードをコンパイルすると、次の出力が表示されます。

ご覧のとおり、スクロールできます。これは、あらゆるコンテンツ、図形、ビットマップ、または他のユーザーインターフェイス要素を含むグリッドなどのより複雑なコンテンツに対して機能します。