从另一个UserControl添加MainWindow中的UserControl

时间:2014-09-22 18:35:14

标签: c# wpf mvvm user-controls

我在UserControl_1中有两个UserControl,有一个按钮可以将UserControl_2添加到MainWindow.axml中的StackPanel中。我在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模式中执行此操作?

1 个答案:

答案 0 :(得分:0)

简短的回答是,你没有用MVVM做这件事。

在MVVM中,View是视图模型中包含的数据的直观表示。你永远不会直接添加一个控件,因为它不代表任何数据!

如果您的View上有ItemsControl绑定到视图模型中的集合,则向该集合添加项目将添加适当的控件。这就是你如何实现现有代码在MVVM中所做的精神。