- MVVMCross
- Windows應用商店
- 的Android
我有一個虛擬機是通過從瀏覽-兒童VM鏈傳回值對來電者
瀏覽層次結構(BrowseVm),並支持前進導航ShowViewModel<LeafDetailVM>
葉子細節ViewModel(LeafDetailVM)。
當用戶在LeafDetail視圖上時,他們應該能夠說出「我想要這個」,然後他們將返回到發起BrowseVm的視圖。
我不能簡單地向前導航到發起者,因爲這會給我留下一個無效的回棧。我不能將BrowseVM視圖作爲NoHistory頁面,因爲我需要它位於後端堆棧中以支持從LeafDetail視圖返回。
我的計劃是讓發起人啓動帶有GUID的BrowseVm。 BrowseVm會將該GUID傳遞到LeafDetailVM上。
在「我想要這個」命令中,我將引發包含GUID的MessageVM和發起者都訂閱的消息。然後我將關閉LeafDetailVM。
當BrowseVM接收到消息通知時,它會比較GUID,如果它匹配,它將自動關閉。
當發起者收到通知時,它將處理現在選擇的數據。
這是否有意義?我錯過了一個更簡單的方法嗎?
這與How to pass a parameter from a viewmodel to its parent viewmodel類似,但不涉及退棧。
感謝
這是任何使用 - http://www.gregshackles。com/2012/11/returns-results-from-view-models-in-mvvmcross /? – Stuart 2014-10-07 14:22:01
我發現的問題是,我打開Browse和Detail活動。試圖關閉這兩個立即,一旦做出選擇,是一個問題。這是最重要的活動等於什麼。我得出的結論是我的瀏覽和細節UI應該使用Fragments(Android)和UserControls(Windows)來完成。完成此操作後,我將更新此問題 – 2014-10-07 15:10:24