WPF 用户控件未显示在网格中

WPF User Control doesn't show up in grid

我试图将 WPF 中的 UserControl 添加到网格中,但是当我尝试通过 MyGrid.Children.Add(UserControl) 添加时它没有显示。所以我试着显示我的网格的孩子数量,在添加用户控件后它说 1。 (MyGrid.Children.Clear() 也不起作用。清除网格后它说还剩下 0 个孩子,但在我编译我的程序时仍然有一些 UiElements。)

这个问题只出现在1个函数中。在另一个函数(相同的class)中,我可以轻松地将孩子添加到同一个网格(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
        }

当我尝试在其他函数(相同 class)中清除此网格时,它会清除网格。只有在这个函数中清除是一个问题。我不明白为什么???

这个 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
}