我在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模式中执行此操作?
答案 0 :(得分:0)
简短的回答是,你没有用MVVM做这件事。
在MVVM中,View是视图模型中包含的数据的直观表示。你永远不会直接添加一个控件,因为它不代表任何数据!
如果您的View上有ItemsControl
绑定到视图模型中的集合,则向该集合添加项目将添加适当的控件。这就是你如何实现现有代码在MVVM中所做的精神。