Wpf-gridpanel
WPF-GridPanel
グリッドパネルは、行と列で構成される柔軟な領域を提供します。 グリッドでは、子要素を表形式で配置できます。 Grid.Row および Grid.Column プロパティを使用して、特定の行および列に要素を追加できます。
デフォルトでは、グリッドパネルは1行1列で作成されます。 RowDefinitionsプロパティとColumnDefinitionsプロパティにより、複数の行と列が作成されます。 行の高さと列の幅は、次の3つの方法で定義することができます-
- 固定値-固定サイズの論理ユニット(1/96インチ)を割り当てる
- 自動-特定の行/列のコントロールに必要なスペースが必要です。
- スター()*-自動および固定サイズがいっぱいになると、残りのスペースが必要になります。
Canvasクラスの階層的な継承は次のとおりです。
グリッドクラスの一般的に使用されるプロパティ
以下に、グリッドの最も一般的に使用されるプロパティを示します。
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>
上記のコードをコンパイルして実行すると、次のウィンドウが生成されます。
上記のサンプルコードを実行し、このクラスの他のプロパティも試してみることをお勧めします。