在WPF中使用循环动态制作网格

时间:2017-02-09 00:26:21

标签: c# wpf

我在WPF中以编程方式使用网格时出现问题。我试图在窗口中添加一个包含列和行的网格,但我想用C#代码,而不是XAML。我创建了一个名为 Playboard 的类,其中我想添加一个网格和列/行。问题是网格没有添加到窗口。我使用grid.showlines属性测试它,但没有显示任何内容。

class PlayBoard
{
   public Grid playGrid;

    public PlayBoard(int width, int height)
    {
        playGrid = new Grid();
        playGrid.Width = width-20;
        playGrid.Height = height-20;

        for (int i = 0; i < (playGrid.Height/10); i++)
        {
            var myRowDefinition = new RowDefinition();
            myRowDefinition.Height = new GridLength(10);
            playGrid.RowDefinitions.Add(myRowDefinition);

        }

        for (int j = 0; j < (playGrid.Width / 10); j++)
        {
            var myColumnDefinition = new ColumnDefinition();
            myColumnDefinition.Width = new GridLength(10);
            playGrid.ColumnDefinitions.Add(myColumnDefinition);
        }
    }
}

这是我在MainWindow构造函数中的MainWindow类中使用的代码:

public partial class MainWindow : Window
{
    PlayBoard board;

    public MainWindow()
    {
        InitializeComponent();

        board = new PlayBoard((int)PlayWindow.Width, (int)PlayWindow.Height);
        board.playGrid.ShowGridLines = true;
    }
}

1 个答案:

答案 0 :(得分:0)

Window需要内容。您可以通过将Grid分配给窗口的Content属性来将this.Content = board.playGrid; 添加到窗口中。

UserControl

您似乎正在尝试创建所谓的UserControl "total_rows": 3, "offset": 0, "rows": [{ "id":"64ACF01B05F53ACFEC48C062A5D01D89", "key": null, "value": { "LastName":"Katz", "FirstName":"Damien", "Address":"2407 Sawyer drive, Charlotte NC", "Phone":012555754211 } } 是由其他控件组成的自定义控件。您可以阅读更多相关信息here