将子项附加到网格,设置它的行和列

Nov*_*vak 22 c# wpf xaml gridview

如何将Image对象附加到a 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>
Run Code Online (Sandbox Code Playgroud)

代码隐藏文件:

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);
          }
     }
}
Run Code Online (Sandbox Code Playgroud)

Ger*_*ton 54

Grid setter方法是静态的.
将它们放在第1行第1列:

Image Box = new Image();
myGrid.Children.Add(Box);
Grid.SetRow(Box, 1);
Grid.SetColumn(Box, 1);
Run Code Online (Sandbox Code Playgroud)


Roh*_*wal 7

您可以使用以下设置任何UIElement

Grid.SetRow(Box, i);
Grid.SetColumn(Box, j);
Run Code Online (Sandbox Code Playgroud)