如何将Image
对象附加到Grid
并将其设置为行和列?
网格是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);
}
}
}
答案 0 :(得分:54)
Grid setter方法是静态的 将它们放在第1行第1列:
Image Box = new Image();
myGrid.Children.Add(Box);
Grid.SetRow(Box, 1);
Grid.SetColumn(Box, 1);
答案 1 :(得分:7)
您可以使用以下设置任何UIElement
Grid.SetRow(Box, i);
Grid.SetColumn(Box, j);
答案 2 :(得分:1)
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);
}
}
是的,网格是4X3而不是3X3尺寸。我希望这会有所帮助。
答案 3 :(得分:0)
试试这个:
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);
}
}
}