我试图将WPF中的UserControl添加到网格中,但是当我尝试通过MyGrid.Children.Add(UserControl)添加时它不会显示。所以我试图显示我的网格的子节点数,并在添加usercontrol后显示1。 (MyGrid.Children.Clear()也不起作用。清除网格后,它表示剩下0个孩子但是在编译我的程序时仍然有一些UiElements。)
此问题仅出现在1个功能中。在另一个函数(同一个类)中,我可以轻松地将子元素添加到同一个网格(myGrid)。
我的代码:
private void AddDateOnClick(object sender, MouseButtonEventArgs e)
{
MyGrid.Children.Clear();
UserControlAddDate ucad = new UserControlAddDate();
MyGrid.Children.Add(ucad);
MessageBox.Show(MyGrid.Children.Count.ToString()); //Only to test if there are some childs
}
当我尝试在另一个函数(同一个类)中清除此网格时,它会清除网格。只清除此功能是个问题。我不明白为什么???
答案 0 :(得分:0)
这个UserControlAddDate是什么?也许它没有初始化。这就是为什么它没有被添加到网格中.. 在那个地方尝试将一个文本框添加到网格并检查它是否正常工作。如果它正在运行那么这就是你的代码的问题。
如Ed Plunkett所述,请尝试使用模板和数据绑定。这是使用WPF的最佳方式。
无论如何都要试试。
private void AddDateOnClick(object sender, MouseButtonEventArgs e)
{
MyGrid.Children.Clear();
TextBox ucad = new TextBox();
ucad.Text = “TEST”;
MyGrid.Children.Add(ucad);
MessageBox.Show(MyGrid.Children.Count.ToString()); //Only to test if there are some childs
}