在 StackPanel 中的特定元素之后创建一个元素

Create an Element after a specific Element in a StackPanel

我需要使用代码隐藏在另一个 textbox 之后立即创建一个 XAML textbox。也许是这样的:

之前

<StackPanel>
    <TextBox Name="TextBox1"/>
    <TextBox Name="TextBox2"/>
    <TextBox Name="TextBox3"/>
</StackPanel>

之后

<StackPanel>
    <TextBox Name="TextBox1"/>
    <TextBox Name="TextBox2"/>
    <TextBox Name="InsertedTextBox"/> <!--This textbox was inserted after 'TextBox2'-->
    <TextBox Name="TextBox3"/>
</StackPanel>

我有textbox的名字,我想在后面插入另一个textbox。我可以知道如何在另一个我知道名字的 textbox 之后插入一个 textbox 吗?

注意:我正在为 Universal Windows 编程。

提前致谢。

你可以试试这个,注意我已经给 StackPanel 起了个名字。

// Where 2 is the index.
this.StackPanel1.Children.Insert(2, new TextBox());

你需要命名StackPanel在代码中引用它,你需要前面TextBox的索引:

var index = this.stackPanel1.Children.IndexOf(TextBox2);
this.stackPanel1.Children.Insert(index + 1, new TextBox { Name = "InsertedTextBox" });