C# 通过网格中的代码添加元素-WP

C# 通过网格中的代码添加元素-WP,c#,xaml,button,windows-phone-8,grid,C#,Xaml,Button,Windows Phone 8,Grid,我正在尝试做一些简单的事情,通过代码隐藏将元素添加到6x7网格中。网格在xaml中定义如下 <Grid x:Name="CalendarGrid" Grid.Row="1" Visibility="Collapsed"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinitio

我正在尝试做一些简单的事情,通过代码隐藏将元素添加到6x7网格中。网格在xaml中定义如下

        <Grid x:Name="CalendarGrid" Grid.Row="1" Visibility="Collapsed">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="*"/>
                <RowDefinition Height="*"/>
                <RowDefinition Height="*"/>
                <RowDefinition Height="*"/>
                <RowDefinition Height="*"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>               

        </Grid>
但是我的页面中有很多网格。如何引用日历网格?有什么解决办法吗


谢谢,

您必须将该按钮添加到日历网格中。请尝试以下方法:

CalendarGrid.Children.Add(butArray[i + 1, j + 1]);
butArray[i + 1, j + 1].SetValue(Grid.ColumnProperty, columnNumber);
butArray[i + 1, j + 1].SetValue(Grid.RowProperty, rowNumber);

您必须将该按钮添加到日历网格中。请尝试以下方法:

CalendarGrid.Children.Add(butArray[i + 1, j + 1]);
butArray[i + 1, j + 1].SetValue(Grid.ColumnProperty, columnNumber);
butArray[i + 1, j + 1].SetValue(Grid.RowProperty, rowNumber);

您可以使用
Grid.SetRow
()和
Grid.SetColumn
()方法:

void InitializeCalendar()
{
对于(int i=0;i<6;i++)
{
对于(int j=0;j<7;j++)
{
butArray[i,j]=新按钮();
但是数组[i,j].Content=(i).ToString()+(j).ToString();
CalendarGrid.Children.Add(butArray[i,j]);
SetRow(butArray[i,j],i);
Grid.SetColumn(butArray[i,j],j);
}
}
}

您可以使用
Grid.SetRow
()和
Grid.SetColumn
()方法:

void InitializeCalendar()
{
对于(int i=0;i<6;i++)
{
对于(int j=0;j<7;j++)
{
butArray[i,j]=新按钮();
但是数组[i,j].Content=(i).ToString()+(j).ToString();
CalendarGrid.Children.Add(butArray[i,j]);
SetRow(butArray[i,j],i);
Grid.SetColumn(butArray[i,j],j);
}
}
}

还有一件事,每个单元格都有一个填充。我想让这个按钮填满这个单元格。我该怎么做?@alfah你可能有全球风格的按钮。你能给我看看这个问题的屏幕截图吗?还有一件事,每个单元格都有一个填充。我想让这个按钮填满这个单元格。我该怎么做?@alfah你可能有全球风格的按钮。你能给我看看这个问题的截图吗?
CalendarGrid.Children.Add(butArray[i + 1, j + 1]);
butArray[i + 1, j + 1].SetValue(Grid.ColumnProperty, columnNumber);
butArray[i + 1, j + 1].SetValue(Grid.RowProperty, rowNumber);
void InitializeCalendar()
{
    for (int i = 0; i < 6; i++)
    {
        for (int j = 0; j < 7; j++)
        {
            butArray[i, j] = new Button();
            butArray[i, j].Content = (i).ToString() + (j).ToString();                 
            CalendarGrid.Children.Add(butArray[i, j]);
            Grid.SetRow(butArray[i, j], i);
            Grid.SetColumn(butArray[i, j], j);                   
        }
    }
}