如何以编程方式添加用户控件

时间:2015-05-29 22:05:58

标签: c# wpf user-controls

我试图在每次单击按钮时以编程方式添加UserControl。它第一次工作但之后我可以看到控件的数量增加但没有显示。

private void AddRecord()
    {
        StackPanel wrp = (this.Content as Grid).Children[0] as StackPanel;
        wrp.Children.Clear();
        for (int i = 0; i < m_viewModel.RecordTimeConfig.Count; i++)
        {
            wrp.Children.Add(m_viewModel.RecordTimeConfig[i]);
        } 
    }

每次单击按钮m_viewModel.RecordTimeConfig都会增加。 stackpanel没有设置高度和宽度。

2 个答案:

答案 0 :(得分:1)

这是你的问题

wrp.Children.Clear();

每次按键时,您都会删除堆栈面板中的所有控件,因此您添加了一个新控件,但您也删除了那个已经存在的控件。

答案 1 :(得分:0)

我发现了问题。

这是由于用户控件的大小,它大于窗口的大小。

谢谢大家的帮助