在WPF中,可以使用C#代码动态创建文本框并在按钮单击时找到文本框。以下是一个简单的示例:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel x:Name="stackPanel" Grid.Column="0" Orientation="Vertical"/>
<Button x:Name="button" Grid.Column="1" Content="Add TextBox" Click="Button_Click"/>
</Grid>
private void Button_Click(object sender, RoutedEventArgs e)
{
TextBox textBox = new TextBox();
textBox.Name = "textBox" + (stackPanel.Children.Count + 1);
textBox.Width = 200;
textBox.Margin = new Thickness(0, 5, 0, 5);
stackPanel.Children.Add(textBox);
}
在这个示例中,我们在按钮单击事件处理程序中创建了一个新的TextBox,并将其添加到StackPanel中。我们为TextBox分配了一个唯一的名称,并设置了其宽度和边距。
现在,当用户单击按钮时,将动态创建一个新的TextBox,并将其添加到StackPanel中。
如果要在按钮单击时找到文本框,可以使用以下代码:
private void Button_Click(object sender, RoutedEventArgs e)
{
TextBox textBox = stackPanel.Children.OfType<TextBox>().LastOrDefault();
if (textBox != null)
{
// 在这里处理文本框
}
}
在这个示例中,我们使用LINQ查询来查找StackPanel中的最后一个TextBox。如果找到了TextBox,则可以在其中执行任何操作。
领取专属 10元无门槛券
手把手带您无忧上云