从另一个UserControl在主窗口中添加UserControl
本文关键字:UserControl 添加 窗口 另一个 | 更新日期: 2023-09-27 18:24:01
我在UserControl_1中有两个UserControl_1,有一个按钮可以在MainWindow.axml中的StackPanel中添加UserControl_2
private void Button_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
UserControl_2 uc = new UserControl_2();
((MainWindow)Application.Current.MainWindow).stackpanel_2.Children.Add(uc);
}
如何在MVVM模式中做到这一点?
简单的答案是,您不能使用MVVM执行此操作。
在MVVM中,视图是视图模型中包含的数据的可视化表示。您永远不会直接添加控件,因为它不会代表任何数据!
如果视图上有一个绑定到视图模型中某个集合的ItemsControl
,则向该集合添加项将添加适当的控件。这就是您将如何实现MVVM中现有代码的精神。