从后面的代码中绘制网格

时间:2013-03-20 06:28:05

标签: c# silverlight

<UserControl x:Class="SilverlightApplication4.SilverlightControl1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="300" d:DesignWidth="400">

    <Grid x:Name="LayoutRoot" Background="White" Margin="0,0,80,-20">
        <Grid HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="100" Background="Beige"/>
        <Grid HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="100" Background="Beige" Margin="110,0,0,0"/>
        <Grid HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="100" Background="Beige" Margin="220,0,0,0"/>
        <Grid HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="100" Background="Beige" Margin="0,110,0,0"/>
        <Grid HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="100" Background="Beige" Margin="110,110,0,0"/>
        <Grid HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="100" Background="Beige" Margin="220,110,0,0"/>
        <Grid HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="100" Background="Beige" Margin="0,220,0,0"/>
        <Grid HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="100" Background="Beige" Margin="110,220,0,0"/>
        <Grid HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="100" Background="Beige" Margin="220,220,0,0"/>

    </Grid>
</UserControl>

我已经在我的xamp文件中为3 * 3网格编写了上面的代码。 我如何从代码后面做同样的事情,而不是编写9行代码?

1 个答案:

答案 0 :(得分:1)

private void AddGrids()
{
    for (int i = 0; i < 10; i++)
    {
        Grid grid = new Grid
        {
            HorizontalAlignment = HorizontalAlignment.Left,
            VerticalAlignment = VerticalAlignment.Top,
            Height = 100,
            Width = 100,
            Background = new SolidColorBrush(Color.FromArgb(255, 245, 245, 220)),
            Margin = new Thickness("margin calculated by your algorithm")
        };
        LayoutRoot.Children.Add(grid);
    }
}