2012-07-28 19 views
18

我如何追加一个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

为了更好地理解你的问题,你要控制使用C#代码网格的每个单元格的高度和宽度? – 2012-07-28 14:30:39

+0

我想添加一个子元素,并设置它的行和列 – Novak 2012-07-28 14:36:34

回答

42

网格setter方法是静态的设定。
要将其放置在第1行1列:

Image Box = new Image(); 
myGrid.Children.Add(Box); 
Grid.SetRow(Box, 1); 
Grid.SetColumn(Box, 1); 
6

您可以使用下面为任何的UIElement

Grid.SetRow(Box, i); 
Grid.SetColumn(Box, j); 
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尺寸。我希望这将有所帮助。

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); 
     } 
} 
} 
相关问题