WPF用户控件不会显示在网格中

时间:2016-05-04 19:49:41

标签: wpf user-controls grid clear

我试图将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
        }

当我尝试在另一个函数(同一个类)中清除此网格时,它会清除网格。只清除此功能是个问题。我不明白为什么???

1 个答案:

答案 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
}