2014-09-22 23 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

相關問題