Wpf-gridpanel

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

WPF-GridPanel

グリッドパネルは、行と列で構成される柔軟な領域を提供します。 グリッドでは、子要素を表形式で配置できます。 Grid.Row および Grid.Column プロパティを使用して、特定の行および列に要素を追加できます。

デフォルトでは、グリッドパネルは1行1列で作成されます。 RowDefinitionsプロパティとColumnDefinitionsプロパティにより、複数の行と列が作成されます。 行の高さと列の幅は、次の3つの方法で定義することができます-

  • 固定値-固定サイズの論理ユニット(1/96インチ)を割り当てる
  • 自動-特定の行/列のコントロールに必要なスペースが必要です。
  • スター()*-自動および固定サイズがいっぱいになると、残りのスペースが必要になります。

Canvasクラスの階層的な継承は次のとおりです。

GridPanelの階層

グリッドクラスの一般的に使用されるプロパティ

以下に、グリッドの最も一般的に使用されるプロパティを示します。

Sr. No. Property & Description
1

Background

パネルのコンテンツ領域を塗りつぶすブラシを取得または設定します。 (Panelから継承)

2

Children

このPanelの子要素のUIElementCollectionを取得します。 (Panelから継承されます。)

3

ColumnDefinitions

Gridのこのインスタンスで定義されたColumnDefinitionオブジェクトのリストを取得します。

4

Height

要素の推奨される高さを取得または設定します。 (FrameworkElementから継承されます。)

5

ItemHeight

WrapPanelに含まれるすべての項目の高さを指定する値を取得または設定します。

6

ItemWidth

WrapPanelに含まれるすべての項目の幅を指定する値を取得または設定します。

7

Margin

要素の外側の余白を取得または設定します。 (FrameworkElementから継承されます。)

8

Name

要素の識別名を取得または設定します。 この名前は、イベントハンドラコードなどの分離コードがXAMLプロセッサによる処理中に構築された後にマークアップ要素を参照できるように、参照を提供します。 (FrameworkElementから継承されます。)

9

Orientation

子コンテンツが配置される次元を指定する値を取得または設定します。

10

Parent

この要素の論理的な親要素を取得します。 (FrameworkElementから継承されます。)

11

Resources

ローカルに定義されたリソースディクショナリを取得または設定します。 (FrameworkElementから継承されます。)

12

RowDefinitions

Gridのこのインスタンスで定義されたRowDefinitionオブジェクトのリストを取得します。

13

Style

この要素がレンダリングされるときに使用されるスタイルを取得または設定します。 (FrameworkElementから継承されます。)

14

Width

要素の幅を取得または設定します。 (FrameworkElementから継承されます。)

グリッドクラスの一般的に使用されるメソッド

以下に、グリッドで最も一般的に使用される方法を示します。

Sr. No. Methods & Description
1

GetColumn

指定されたFrameworkElementからGrid.Column XAML添付プロパティの値を取得します。

2

GetColumnSpan

指定されたFrameworkElementからGrid.ColumnSpan XAML添付プロパティの値を取得します。

3

GetRow

指定されたFrameworkElementからGrid.Row XAML添付プロパティの値を取得します。

4

SetColumn

指定されたFrameworkElementのGrid.Column XAML添付プロパティの値を設定します。

5

SetRow

指定されたFrameworkElementのGrid.Row XAML添付プロパティの値を設定します。

6

SetRowSpan

指定されたFrameworkElementのGrid.RowSpan XAML添付プロパティの値を設定します。

次の例は、子要素をグリッドに追加して表形式で指定する方法を示しています。 次のXAML実装では、グリッドの最初の列にテキストブロックが追加され、2番目の列にテキストボックスが追加されます。

<Window x:Class = "WPFGrid.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:WPFGrid"
   mc:Ignorable = "d" Title = "MainWindow" Height = "350" Width = "604">

   <Grid x:Name = "FormLayoutGrid" Background = "AliceBlue">
      <Grid.ColumnDefinitions>
         <ColumnDefinition Width = "Auto"/>
         <ColumnDefinition/>
      </Grid.ColumnDefinitions>

      <Grid.RowDefinitions>
         <RowDefinition Height = "*"/>
         <RowDefinition Height = "*"/>
         <RowDefinition Height = "*"/>
      </Grid.RowDefinitions>

      <TextBlock Grid.Row = "0" Grid.Column = "0" Text = "Name" Margin = "10"
         HorizontalAlignment = "Left" VerticalAlignment = "Center" Width = "100"/>
      <TextBox Grid.Row = "0" Grid.Column = "1" Margin = "10"/>
      <TextBlock Grid.Row = "1" Grid.Column = "0" Text = "ID" Margin = "10"
         HorizontalAlignment = "Left" VerticalAlignment = "Center" Width = "100"/>
      <TextBox Grid.Row = "1" Grid.Column = "1" Margin = "10"/>
      <TextBlock Grid.Row = "2" Grid.Column = "0" Text = "Age" Margin = "10"
         HorizontalAlignment = "Left" VerticalAlignment = "Center" Width = "100"/>
      <TextBox Grid.Row = "2" Grid.Column = "1" Margin = "10"/>
   </Grid>

</Window>

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

Gridpanelの出力

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