2012-07-28 5 views
18

가 어떻게이 Grid 내로 Image 객체를 추가하고 입니다 설정할 수있어 설정, 그리드에 아이를 추가?은 행과 열

그리드는 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# 코드를 사용하여 그리드의 각 셀의 높이 및 폭을 제어하고자 할 이해하려면? –

+0

하위 요소를 추가하고 행과 열을 설정하려고합니다. – Novak

답변

42

설정하려면 다음을 사용할 수 있습니다.
은 행 1 열 1에 배치하려면 :

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

당신은 그리드의 setter 메소드는 정적 모든 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); 
     } 
    } 

그리고 네 그리드는 3X3 크기의 4X3의하지 않습니다. 이것이 도움이되기를 바랍니다.

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); 
     } 
} 
}