gpt4 book ai didi

c# - 在 WPF 中单击按钮时创建文本框?

转载 作者:行者123 更新时间:2023-11-30 21:45:34 25 4
gpt4 key购买 nike

我已经搜索了几个与此相关的 stackoverflow 线程但是我在代码中遇到问题请检查我的代码并告诉我我卡住的问题在哪里而不是问题在哪里我是新来的请帮助我

 public partial class MainWindow : Window
{
Grid MainGrid = new Grid();
public MainWindow()
{
InitializeComponent();
}
private void button_Click(object sender, RoutedEventArgs e)
{
TextBox dynamicTextBox = new TextBox();
dynamicTextBox.Text = "Type Partnumber";
Grid.SetRow(dynamicTextBox, 1);
Grid.SetColumn(dynamicTextBox, 0);
this.MainGrid.Children.Add(dynamicTextBox);
}
}

最佳答案

通过使用 button_Click 事件,您可以将动态文本框添加到 MainGrid 并且该代码看起来不错。但问题是 this.MainGrid 不在 Present UI 中,它类似于动态创建的 TextBox,因为您在代码隐藏中定义了它(参见构造函数上方的定义 网格 MainGrid = new Grid();).

考虑 canContainer 是在 xaml 中定义的 Canvas ,如下所示,

<Canvas Height="319" Margin="0"
Width="517"
Name="canContainer"/>

要克服这个问题,您可以选择以下任何一种方法。

1.将 MainGrid 添加到 UI。它会将网格添加到 Canvas ,请记住动态文本框已经添加到网格中。这意味着代码应该是这样的 -->

 this.canContainer.Children.Add(MainGrid);

2.将 dynamicTextBox 添加到 UI 中存在的任何其他父项。

this.canContainer.Children.Add(dynamicTextBox); 

您正在使用此方法,则无需定义和添加 MainGrid

关于c# - 在 WPF 中单击按钮时创建文本框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40012337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com