如何以编程方式添加用户控件
How to add user controls programmatically
我试图在每次单击按钮时以编程方式添加一个 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 都会增加。
堆栈面板没有设置高度和宽度。
这是你的问题
wrp.Children.Clear();
每次按下该键时,您都会删除堆栈面板中的所有控件,因此您添加了一个新控件,但同时也删除了已有的控件。
我找到问题了。
这是由于用户控件的大小大于 window 的大小。
谢谢大家的帮助
我试图在每次单击按钮时以编程方式添加一个 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 都会增加。 堆栈面板没有设置高度和宽度。
这是你的问题
wrp.Children.Clear();
每次按下该键时,您都会删除堆栈面板中的所有控件,因此您添加了一个新控件,但同时也删除了已有的控件。
我找到问题了。
这是由于用户控件的大小大于 window 的大小。
谢谢大家的帮助