2015-08-22 64 views
1

當用戶選擇返回時,恢復視圖「狀態」的最佳方法是什麼?例如,第一視圖「UserList」女巫包含許多聯繫人的列表視圖,而第二視圖包含聯繫人詳細信息。當用戶返回到「UserList」視圖時如何檢索狀態(包括滾動視圖位置等)?Universal App - 在分割視圖導航中恢復視圖狀態

回答

0

您應該在SplitView的內容中使用框架,當您返回時它將使用相同的信息恢復以前的內容,我強烈建議您看看https://github.com/Microsoft/Windows-universal-samples並查找有關XAMLNavigation包含有關導航的所有內容。

除了我當然建議你使用MVVM並綁定所有要像存儲聯繫人的屬性等

+0

我看看樣品中。特別是XAMLNavigation示例。在頁面演示中進行鑽取是一個完美的例子,當您選擇最後一個項目並在此之後返回時,「狀態」不一樣 – BobyOneKenobi

+0

如果您想在控件中使用完全相同的狀態,則無法導航必須使用Content1刪除一個網格控件,並將第二個網格控件與Content2一起添加,但不能導航。 –

1

最後,簡單的方法是在代碼中使用

NavigationCacheMode = NavigationCacheMode.Enabled 

在頁面後面。

0

胡安·巴勃羅告訴你關於使用MVVM的一個好主意!最好的方法是在導航時「存儲/緩存」ViewModel,然後再導航回去。

如果你不想爲你的視圖設置NavigationCacheMode(因爲設置這將獲得更多的內存),你可以使用ListViewPersistenceHelper來保留L​​istView的滾動位置!

這樣一個例子是在向上肖恩Skendrot他的博客在這裏http://visuallylocated.com/post/2015/07/23/Persist-ListView-scroll-position-without-setting-NavigationCacheMode.aspx