2012-08-07 61 views
2

我試圖學習MVVM,並且作爲一個沒有輔導老師的新人,有時會變得非常混亂。現在我有這個問題:在一個窗口(MVVM)中有多個視圖

**在一個窗口中,我使用了3種不同模型視圖的不同視圖。 **每個視圖用於從分支中選擇一個項目,並且我們將遍歷樹。 **在第一個視圖中,我選擇我的書 **第二個視圖將顯示該書的頁面 **我希望它顯示該頁面的練習的最後一個視圖。

到目前爲止,我能夠將第一個視圖綁定到書籍。現在,我應該如何將第二個視圖的源代碼綁定到第一個人的slectedItem

MVVM Problem http://clickasun.ir/8283kitchen/images/mvvmproblem.jpg

+0

如果有人能夠提供給我一個示例應用程序的鏈接,那將會很棒。 – Mohfath 2012-08-07 14:59:02

+2

這可能會進入你的方向:http://stackoverflow.com/questions/4599802/concrete-examples-of-state-sharing-between-multiple-viewmodels-wpf-mvvm – 2012-08-07 15:48:18

回答

0

OK,我要感謝誰看了這一點,並試圖幫助,特別喲傢伙「Blindmeis,仁H」

謝謝。

我知道這種情況必須如此一般,我只是無法找到它。

所以我找到了兩種方法,它們都可以是很好的解決方案。

  1. 使用Microsoft Prism。 (它是一種模式,使容易在WPF模塊化程序) MSDN LINK Another LINK

  2. 使用主從模式 Here it is clear

所以我得到了我的解決。希望它對你也有用。

1

有幾種方法可以達到你想要的東西。例如。

public class Exercise{} 

public class Page 
{ 
    public List<Exercise> MyExercise {get;set;} 
} 

public class Book 
{ 
    public List<Page > MyPages {get;set;} 
} 

視圖模型

public ObservableCollection<Book> MyBooks {get;set;} 

XAML

<ListBox x:Name=books ItemsSource="{Binding MyBooks}"/> 
<ListBox x:Name=pages ItemsSource="{Binding ElementName=books,Path=SelectedItem}"/> 
<ListBox ItemsSource="{Binding ElementName=pages,Path=SelectedItem}"/> 

這當然只是一個辦法做到這一點。

PS:手寫代碼,因此檢查錯誤

相關問題