相关疑难解决方法(0)

如何在运行时将wpf控件添加到特定网格行和单元格?

我的WPF"窗口"中有以下网格(是类窗口);

<Grid Name="RequiredGrid">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="70" />
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>
        </Grid>
Run Code Online (Sandbox Code Playgroud)

根据传递到窗口的内容,我想一次一行地将项添加到此网格中.也就是说,我想在左列中添加一个Label,在右列中添加一个TextBox.我相信我知道如何通过在后面的代码中执行以下操作来添加新行来保存新数据:

RequiredGrid.RowDefinitions.Add(new RowDefinition());
Run Code Online (Sandbox Code Playgroud)

问题是,在我创建了Label和TextBox之后.

Label AttrLabel = new Label();
TextBox AttrTextBox = new TextBox();
Run Code Online (Sandbox Code Playgroud)

我真的不知道怎么把它放到窗口中以便显示出来.我见过一些帖子说,做这样的事情:

this.Controls.Add(AttrLabel);
this.Controls.Add(AttrTextBox);
Run Code Online (Sandbox Code Playgroud)

这有两个问题.1)我的Window类没有这个"Controls"属性或其他什么.2)这无助于我指定每个UI项的行和列.

现在在XAML中,我很容易用这样的东西指定行和列:

 <Label Grid.Column="0" Grid.Row="0"/>
Run Code Online (Sandbox Code Playgroud)

这虽然击败了我的意图的"动态性".有谁知道如何让我的动态创建的UI元素显示在我的窗口中,并指定它将在网格中显示的行和列.

wpf grid user-interface dynamic

21
推荐指数
2
解决办法
3万
查看次数

标签 统计

dynamic ×1

grid ×1

user-interface ×1

wpf ×1