Image
オブジェクトをGrid
に追加し、それをRowおよびColumnに設定するにはどうすればよいですか?
グリッドは3x3です。
メインファイル:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.Microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.Microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="440" Width="400" ResizeMode="NoResize">
<Window.Background>
<ImageBrush ImageSource="C:\Users\GuyD\AppData\Local\Temporary Projects\WpfApplication1\AppResources\Background.png"></ImageBrush>
</Window.Background>
<Grid ShowGridLines="True" x:Name="myGrid">
<Grid.RowDefinitions>
<RowDefinition Height="42" />
<RowDefinition Height="30*" />
<RowDefinition Height="30*" />
<RowDefinition Height="32*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="31*" />
<ColumnDefinition Width="26*" />
<ColumnDefinition Width="32*" />
</Grid.ColumnDefinitions>
</Grid>
</Window>
コードビハインドファイル:
public MainWindow()
{
InitializeComponent();
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
Image Box = new Image();
this.myGrid.Children.Add(Box);
}
}
}
グリッドセッターメソッドは静的です。
行1列1に配置するには:
Image Box = new Image();
myGrid.Children.Add(Box);
Grid.SetRow(Box, 1);
Grid.SetColumn(Box, 1);
以下を使用して、任意のUIElementを設定できます
Grid.SetRow(Box, i);
Grid.SetColumn(Box, j);
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 3; j++)
{
Image Box = new Image();
this.myGrid.Children.Add(Box);
Grid.SetRow(Box, i);
Grid.SetColumn(Box, j);
}
}
はい、グリッドは3X3次元ではなく4X3のものです。これが役立つことを願っています。
これを試して:
public MainWindow() {
InitializeComponent();
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
Image Box = new Image();
Grid.SetRow(Box, i);
Grid.SetColumn(Box, j);
}
}
}