Wpf-canvaspanel

提供:Dev Guides
移動先:案内検索

WPF-CanvasPanel

キャンバスパネルは、左、右、上、下などの Canvas を基準とする座標を使用して子要素を明示的に配置できる基本レイアウトパネルです。

通常、Canvasは2Dグラフィック要素(楕円、四角形など)に使用されますが、UI要素には使用されません。絶対座標を指定すると、XAMLアプリケーションのサイズ変更、ローカライズ、スケーリング中に問題が発生するためです。 Canvasクラスの階層継承は次のとおりです-

CanvasPanelの階層

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>

上記のコードをコンパイルして実行すると、次の出力が生成されます-

Canvaspanelの出力

上記のサンプルコードを実行し、このクラスの他のプロパティも試してみることをお勧めします。