0
我想在我的網格中編程添加TextBox
。如何動態地將TextBox添加到網格?
這裏是我的代碼:
private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e)
{
var input= await OneListDataSource.GetItemAsync((string)e.NavigationParameter);
foreach (string item in input.getItems()) {
TextBox textBox = new TextBox();
textBox.Text = item;
grid.RowDefinitions.Add(new RowDefinition());
grid.Children.Add(textBox);
}
}
在我的XAML:
<Grid Grid.Row="1" x:Name="ContentRoot" Margin="19,9.5,19,0">
</Grid>
但當我在模擬器上運行它,我只看到1行所有項目似乎相互重疊。 我試過在我的xaml文件中刪除Grid.Row
,但我沒有看到它有什麼區別。
更新:
感謝您的答案,我幾乎得到這個工作。現在我的問題是 爲什麼我需要添加一個新的RowDefintion()所有我添加一個新的children(),我可以做到這一點沒有RowDefinitions.Add(新的RowDefinition())每行?
foreach (string item in input.getItems()) {
TextBox textBox = new TextBox();
textBox.Text = item;
grid.RowDefinitions.Add(new RowDefinition()); // why I need to do this everytime I add a new TextBox?
Grid.SetRow(textBox, i++);
Grid.SetColumn(textBox, 0);
grid.Children.Add(textBox);
}
可能的重複的[WPF - 在代碼隱藏的網格中更改控件的位置](http://stackoverflow.com/questions/3785572/wpf-change-the-place-of-a-control-在網格中的代碼後面) – 2014-10-01 22:10:29
...或者[this](http://stackoverflow.com/questions/7127125/how-to-add-wpf-control-to-particular-grid-行和細胞過程中的運行時)。 – 2014-10-01 22:10:51
如果你只是想顯示一個文本框列表,那麼用堆棧面板代替它怎麼樣? – failedprogramming 2014-10-01 22:11:19