我已经搜索了几个与此相关的stackoverflow线程但是我在代码中遇到问题plz审查我的代码并告诉我问题在哪里我被困住了,不知道问题在哪里我是新来的,请帮帮我
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);
}
}
答案 0 :(得分:3)
通过使用button_Click
事件,您将动态TextBox添加到MainGrid
,该代码看起来很好。但问题是this.MainGrid
不在Present UI中,它类似于动态创建的TextBox,因为您在代码隐藏中定义了它(请参阅构造函数Grid MainGrid = new Grid();
上面的定义)。 / p>
考虑canContainer
是xaml中定义的画布,如下所示
<Canvas Height="319" Margin="0"
Width="517"
Name="canContainer"/>
要解决此问题,您可以选择以下任何一种方法。
1.将MainGrid
添加到UI。它会将网格添加到画布,请记住已添加到Grid的动态textBox。
这意味着代码应该是这样的 - &gt;
this.canContainer.Children.Add(MainGrid);
2.将dynamicTextBox
添加到UI中的任何其他父级。
this.canContainer.Children.Add(dynamicTextBox);
您正在使用此方法,因此无需定义和添加MainGrid