Silverlight-border
Silverlight-ボーダー
ユーザーインターフェイスをレイアウトするときに留意すべきもう1つの有用な要素は、 Border です。 子を1つしか含めることができないため、これはパネルではありませんが、レイアウトに余分なスペースを導入するのに役立つことがよくあります。
- 境界線の外側にマージンを追加し、コンテンツの周囲にパディングを追加できます。
- 名前が示すように、コンテンツの周囲に境界線を引くこともできます。
- これは、オプションの丸い角を持つ長方形の境界線です。 たとえば、ScrollViewerで図形の周りに少しのスペースとアウトラインが必要だとします。
以下に、 Border クラスで一般的に使用される properties を示します。
以下は、Borderの最も一般的に使用されるプロパティです。
Sr. No. | Property & Description |
---|---|
1 |
ActualHeight FrameworkElementのレンダリングされた高さを取得します。 備考を参照してください。 (FrameworkElementから継承されます) |
2 |
ActualWidth FrameworkElementのレンダリングされた幅を取得します。 備考を参照してください。 (FrameworkElementから継承されます) |
3 |
AllowDrop このUIElementをドラッグアンドドロップ操作の目的でドロップターゲットにできるかどうかを決定する値を取得または設定します。 (UIElementから継承) |
4 |
Background 境界線の背景(内側の領域)を塗りつぶすブラシを取得または設定します。 |
5 |
BackgroundProperty Background依存プロパティを識別します。 |
6 |
CanDrag 要素をドラッグアンドドロップ操作でデータとしてドラッグできるかどうかを示す値を取得または設定します。 (UIElementから継承) |
7 |
Child 境界線を描く子要素を取得または設定します。 |
8 |
Height FrameworkElementの推奨される高さを取得または設定します。 (FrameworkElementから継承されます) |
9 |
HorizontalAlignment FrameworkElementがパネルやアイテムコントロールなどのレイアウトの親で構成されるときにFrameworkElementに適用される水平方向の配置特性を取得または設定します。 (FrameworkElementから継承されます) |
10 |
Margin FrameworkElementの外側のマージンを取得または設定します。 (FrameworkElementから継承されます) |
11 |
MaxHeight FrameworkElementの最大高さの制約を取得または設定します。 (FrameworkElementから継承されます) |
12 |
MaxWidth FrameworkElementの最大幅制約を取得または設定します。 (FrameworkElementから継承されます) |
13 |
MinHeight FrameworkElementの最小の高さの制約を取得または設定します。 (FrameworkElementから継承されます) |
14 |
MinWidth FrameworkElementの最小幅の制約を取得または設定します。 (FrameworkElementから継承されます) |
15 |
Name オブジェクトの識別名を取得または設定します。 XAMLプロセッサがXAMLマークアップからオブジェクトツリーを作成するとき、ランタイムコードはこの名前でXAMLで宣言されたオブジェクトを参照できます。 (FrameworkElementから継承されます) |
16 |
Opacity オブジェクトの不透明度を取得または設定します。 (UIElementから継承) |
17 |
Padding 境界線とその子オブジェクト間の距離を取得または設定します。 |
18 |
Resources ローカルに定義されたリソースディクショナリを取得します。 XAMLでは、XAMLの暗黙的なコレクション構文を使用して、frameworkElement.Resourcesプロパティ要素の子オブジェクト要素としてリソース項目を確立できます。 (FrameworkElementから継承されます) |
19 |
Style レイアウトおよびレンダリング中にこのオブジェクトに適用されるインスタンススタイルを取得または設定します。 (FrameworkElementから継承されます) |
20 |
VerticalAlignment FrameworkElementがパネルや項目コントロールなどの親オブジェクトで構成されるときにFrameworkElementに適用される垂直方向の配置特性を取得または設定します。 (FrameworkElementから継承されます) |
21 |
Visibility UIElementの可視性を取得または設定します。 表示されないUIElementはレンダリングされず、目的のサイズをレイアウトに伝えません。 (UIElementから継承) |
22 |
Width FrameworkElementの幅を取得または設定します。 (FrameworkElementから継承されます) |
*Border* クラスにはこれらのメソッドがあります。 また、 *Object* クラスから *methods* を継承します。
以下に、Border&Objectの最も一般的に使用される方法を示します。
Sr. No. | Method & Description |
---|---|
1 |
Arrange 子オブジェクトを配置し、 UIElement のサイズを決定します。 子要素のカスタムレイアウトを実装する親オブジェクトは、レイアウトオーバーライド実装からこのメソッドを呼び出して、再帰的なレイアウト更新を形成する必要があります。 (UIElementから継承) |
2 |
ArrangeOverride レイアウトのアレンジパスの動作を提供します。 クラスはこのメソッドをオーバーライドして、独自のアレンジパスの動作を定義できます。 (FrameworkElementから継承されます) |
3 |
FindName 指定された識別子名を持つオブジェクトを取得します。 (FrameworkElementから継承されます) |
4 |
GetValue DependencyObjectから依存関係プロパティの現在の有効値を返します。 (DependencyObjectから継承) |
5 |
SetBinding 提供されたバインディングオブジェクトを使用して、FrameworkElementにバインディングをアタッチします。 (FrameworkElementから継承されます) |
6 |
SetValue DependencyObjectの依存関係プロパティのローカル値を設定します。 (DependencyObjectから継承) |
7 |
StartDragAsync ドラッグアンドドロップ操作を開始します。 (UIElementから継承) |
8 |
UpdateLayout UIElementの子オブジェクトのすべての位置がレイアウト用に適切に更新されるようにします。 (UIElementから継承) |
Borderクラスには以下のイベントがあります-
以下は、Borderの最も一般的に使用されるイベントです。
Sr. No. | Event & Description |
---|---|
1 |
DragEnter 入力システムが、この要素をターゲットとして基になるドラッグイベントを報告したときに発生します。 (UIElementから継承) |
2 |
DragLeave 入力システムが、この要素を起点として基本的なドラッグイベントを報告したときに発生します。 (UIElementから継承) |
3 |
DragOver 入力システムが潜在的なドロップターゲットとしてこの要素を持つ基本的なドラッグイベントを報告するときに発生します。 (UIElementから継承) |
4 |
DragStarting ドラッグ操作が開始されたときに発生します。 (UIElementから継承) |
5 |
Drop 入力システムが、この要素をドロップターゲットとして基になるドロップイベントを報告したときに発生します。 (UIElementから継承) |
6 |
DropCompleted ドラッグアンドドロップ操作が終了したときに発生します。 (UIElementから継承) |
7 |
KeyDown UIElementにフォーカスがあるときにキーボードキーが押されると発生します。 (UIElementから継承) |
8 |
KeyUp UIElementにフォーカスがあるときにキーボードキーが離されると発生します。 (UIElementから継承) |
9 |
LayoutUpdated ビジュアルツリーのレイアウトが変更されたときに発生します。これは、レイアウト関連のプロパティの値の変更や、レイアウトを更新する他のアクションが原因です。 (FrameworkElementから継承されます) |
10 |
Loaded FrameworkElementが構築され、オブジェクトツリーに追加され、対話の準備ができたときに発生します。 (FrameworkElementから継承されます) |
11 |
Loading FrameworkElementのロードが開始されると発生します。 (FrameworkElementから継承されます) |
12 |
ManipulationCompleted UIElementの操作が完了したときに発生します。 (UIElementから継承) |
例
境界線と内側の境界矩形が追加されている簡単な例を見てみましょう。
<UserControl x:Class = "ScrollViewerExample.MainPage"
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"
mc:Ignorable = "d"
d:DesignHeight = "300" d:DesignWidth = "400">
<Grid x:Name = "LayoutRoot" Background = "White">
<Border BorderBrush = "Blue" BorderThickness = "10"
Margin = "5" CornerRadius = "80" Padding = "80">
<Rectangle Fill = "Gray" Width = "116" Height = "75"/>
</Border>
</Grid>
</UserControl>
上記のコードをコンパイルして実行すると、次の出力が表示されます。
Borderは、 CornerRadius プロパティで丸みを帯びたエッジをサポートします。