Wpf-canvaspanel
WPF-CanvasPanel
キャンバスパネルは、左、右、上、下などの Canvas を基準とする座標を使用して子要素を明示的に配置できる基本レイアウトパネルです。
通常、Canvasは2Dグラフィック要素(楕円、四角形など)に使用されますが、UI要素には使用されません。絶対座標を指定すると、XAMLアプリケーションのサイズ変更、ローカライズ、スケーリング中に問題が発生するためです。 Canvasクラスの階層継承は次のとおりです-
Canvasクラスの一般的に使用されるプロパティ
以下に、Canvasの最も一般的に使用されるプロパティを示します。
Sr. No. | Property & Description |
---|---|
1 |
Background パネルのコンテンツ領域を塗りつぶすブラシを取得または設定します。 (Panelから継承) |
2 |
Children このPanelの子要素のUIElementCollectionを取得します。 (Panelから継承されます。) |
3 |
Height 要素の推奨される高さを取得または設定します。 (FrameworkElementから継承されます。) |
4 |
ItemHeight WrapPanelに含まれるすべての項目の高さを指定する値を取得または設定します。 |
5 |
ItemWidth WrapPanelに含まれるすべての項目の幅を指定する値を取得または設定します。 |
6 |
LogicalChildren このPanel要素の論理子要素を反復処理できる列挙子を取得します。 (Panelから継承されます。) |
7 |
LogicalOrientation パネルが1次元のみのレイアウトをサポートする場合、パネルの方向。 (Panelから継承されます。) |
8 |
LeftProperty Canvas.Left XAML添付プロパティを識別します。 |
9 |
Margin 要素の外側の余白を取得または設定します。 (FrameworkElementから継承されます。) |
10 |
Name 要素の識別名を取得または設定します。 この名前は、イベントハンドラコードなどの分離コードがXAMLプロセッサによる処理中に構築された後にマークアップ要素を参照できるように、参照を提供します。 (FrameworkElementから継承されます。) |
11 |
Orientation 子コンテンツが配置される次元を指定する値を取得または設定します。 |
12 |
Parent この要素の論理的な親要素を取得します。 (FrameworkElementから継承されます。) |
13 |
Resources ローカルに定義されたリソースディクショナリを取得または設定します。 (FrameworkElementから継承されます。) |
14 |
Style この要素がレンダリングされるときに使用されるスタイルを取得または設定します。 (FrameworkElementから継承されます。) |
15 |
TopProperty Canvas.Top XAML添付プロパティを識別します。 |
16 |
Width 要素の幅を取得または設定します。 (FrameworkElementから継承されます。) |
17 |
ZIndexProperty Canvas.ZIndex XAML添付プロパティを識別します。 |
Canvasの一般的に使用されるメソッド
以下に、Canvasで最も一般的に使用される方法を示します。
Sr. No. | Methods & Description |
---|---|
1 |
GetLeft ターゲット要素のCanvas.Left XAML添付プロパティの値を取得します。 |
2 |
GetTop ターゲット要素のCanvas.Top XAML添付プロパティの値を取得します。 |
3 |
GetZIndex ターゲット要素のCanvas.ZIndex XAML添付プロパティの値を取得します。 |
4 |
SetLeft ターゲット要素のCanvas.Left XAML添付プロパティの値を設定します。 |
5 |
SetTop ターゲット要素のCanvas.Top XAML添付プロパティの値を設定します。 |
6 |
SetZIndex ターゲット要素のCanvas.ZIndex XAML添付プロパティの値を設定します。 |
例
次の例は、子要素をCanvasに追加する方法を示しています。 次のXAML実装は、異なるオフセットプロパティを持つCanvas内に楕円を作成します。
<Window x:Class = "WPFConvas.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:WPFConvas"
mc:Ignorable = "d" Title = "MainWindow" Height = "400" Width = "604">
<Grid>
<Canvas Width = "580" Height = "360" >
<Ellipse Canvas.Left = "30" Canvas.Top = "30"
Fill = "Gray" Width = "200" Height = "120"/>
<Ellipse Canvas.Right = "30" Canvas.Top = "30"
Fill = "Aqua" Width = "200" Height = "120"/>
<Ellipse Canvas.Left = "30" Canvas.Bottom = "30"
Fill = "Gainsboro" Width = "200" Height = "120"/>
<Ellipse Canvas.Right = "30" Canvas.Bottom = "30"
Fill = "LightCyan" Width = "200" Height = "120"/>
</Canvas>
</Grid>
</Window>
上記のコードをコンパイルして実行すると、次の出力が生成されます-
上記のサンプルコードを実行し、このクラスの他のプロパティも試してみることをお勧めします。