2014-09-22 52 views
1

我在UserControl_1中有两个UserControl,在MainWindow.axml的StackPanel内有一个用于添加UserControl_2的按钮。我在UserControl_1中执行以下操作:在另一个UserControl的MainWindow中添加UserControl

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

简短的回答是,你不要这样做与MVVM。

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

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

+0

tnks BradleyDotNET – 2014-09-22 18:56:55

相关问题