2013-04-07 95 views
2

美好的一天,我對windows phone很陌生,所以請耐心等待。我需要根據用戶選擇的內容加載XAML佈局。例如,如果我有4個XAML佈局A,B,C,D,當用戶選擇C時,應該加載相應的XAML佈局,如果稍後選擇A,則應該出現。我可以創建不同的XAML佈局並使用OnNavigateTo方法,但我認爲它效率不高。有沒有辦法,我可以將XAML Layouts分組在一起,以便它們可以輕鬆地在它們之間切換?..我聽說過使用模板,但是無法真正找到它的工作原理的具體示例。任何幫助或鏈接將不勝感激。謝謝。基於用戶交互動態加載XAML佈局

回答

0

你可以用許多不同的方法解決這個問題。如果您不應該在同一頁面上加載版面,請爲每個視圖創建4個單獨的頁面並導航到正確的頁面。

如果您需要更新當前視圖,可以選擇以下選項之一: - 將所有四個佈局放置到各自的網格中,併爲每個佈局設置Visibility="Collapsed"。然後,當您需要顯示佈局時,只需將其可見性更改爲True即可。 - 與上面相同,但使用視覺狀態添加一些動畫。 - 創建4個用戶控件並動態創建所需的控件並將其添加到當前頁面。

您需要考慮以下幾個因素: - 清潔的代碼和乾淨的設計。 - 動畫和轉換。 - Back鍵?如果用戶完成後應該導航回選擇屏幕,請考慮導航到單獨的頁面。

不要忘記最後一點,選擇合適的解決方案時可能至關重要。

1

從我的理解你不需要使用模板。由於有四種不同的操作有四種不同的視圖,因此每個操作都有一個單獨的頁面不應該存在問題。

問題可能也是這樣 - 佈局有多不同?如果數據是唯一能夠跨越它們進行更改的東西,那麼您可能會考慮讓視圖模型綁定到並更改可綁定源。

底線:根據您的場景,只使用頁面或綁定到動態數據的單個頁面。

1

據我所知,我希望你更喜歡用戶界面中的UserControls實現。您可以將A,B,C和D佈局作爲單獨的UserControls使用,並且可以將這些UserControl放在同一頁面中。只需根據在後面的代碼中識別它的條件進行可見性更改。我認爲它可以幫助你。