Silverlight-scrollviewer
Silverlight-ScrollViewer
一部のユーザーインターフェイスでは、使用可能なスペースに収まらないほど多くの情報を表示する必要があります。 これに対する一般的な解決策の1つは、スクロール可能な領域を提供することです。 Silverlightは、ScrollViewerでこれを非常に簡単にします。 これを任意の要素にラップできます。 単一の子要素である必要がありますが、必要に応じてさらに子を含むパネルにすることもできます。
- ScrollViewer は、子に対して制約のないレイアウトを実行し、必要なだけのスペースを提供します。
- 全体のアイデアは、可変サイズのコンテンツを保持するために固定スペースを適応させることであるため、視聴者は制約されたレイアウトコンテキストに置かれることを期待しています。
- その後、必要に応じてスクロールバーが提供されます。 子要素はスクロールされることを完全に忘れています。
以下に、 ScrollViewer クラスで一般的に使用される properties を示します。
以下は、ScrollViewerの最も一般的に使用されるプロパティです。
Sr. No. | Property & Description |
---|---|
1 |
ComputedHorizontalScrollBarVisibility 水平のScrollBarが表示されるかどうかを示す値を取得します。 |
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 クラスで一般的に使用される*イベント*を示します。
以下は、ScrollViewerの最も一般的に使用されるイベントです。
Sr. No. | Event & Description |
---|---|
1 |
DirectManipulationCompleted ScrollViewerの直接操作が終了したときに発生します。 |
2 |
DirectManipulationStarted ScrollViewerの直接操作が開始されたときに発生します。 |
3 |
ViewChanged スクロールやズームなどの操作によってビューが変更されたときに発生します。 |
4 |
ViewChanging スクロールやズームなどの操作によってビューが変更されると発生します。 |
以下に、 ScrollViewer クラスで一般的に使用される methods を示します。
以下は、ScrollViewerの最も一般的に使用されるメソッドです。
Sr. No. | Method & Description |
---|---|
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>
上記のコードをコンパイルすると、次の出力が表示されます。
ご覧のとおり、スクロールできるので、コンテンツ、シェイプ、ビットマップ、または他のユーザーインターフェイス要素を含むグリッドなどのより複雑なコンテンツに対して機能します。