C# 从另一个UserControl在主窗口中添加UserControl

C# 从另一个UserControl在主窗口中添加UserControl,c#,wpf,mvvm,user-controls,C#,Wpf,Mvvm,User Controls,在UserControl_1中有两个UserControls。在MainWindow.axml中的StackPanel中有一个按钮可以添加UserControl_2。我在UserControl_1中执行以下操作: private void Button_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { UserControl_2 uc = new UserControl_2(); ((MainWindow)

在UserControl_1中有两个UserControls。在MainWindow.axml中的StackPanel中有一个按钮可以添加UserControl_2。我在UserControl_1中执行以下操作:

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中实现现有代码的精神