2013-04-21 65 views
0

在C#+ xaml上編寫Windows 8應用程序時遇到了一些小問題。我的應用程序有一個主頁,分爲兩部分 - 左側的ListView作爲導航面板,右側的Frame。所有這些看起來和工作有點像PC Settings panel。但有一點不同 - 當頁面內容足夠多並且可以滾動時,我會將摺疊導航面板的動畫執行爲僅限圖標狀態(全寬時包含文本和圖標)。在框架中顯示內容干擾頁面上的動畫

所以,這是問題所在。假設我在第一頁並且面板被摺疊。然後我轉到第二頁,我必須返回到面板的全角狀態。但是,由於我在顯示框架中顯示內容的同時進行了這一操作,因此動畫會有一點凍結,並且在GridView獲得大量項目時它變得非常引人注目。因此,動畫凍結一半,然後GridView呈現所有項目圖像,然後繼續。

解決這個問題的唯一方法就是在動畫完成後做導航。它看起來不太漂亮,所以我先進入空白頁面,執行動畫,然後進入目標頁面。但是這個解決方案仍然感覺錯誤,並且在從暫停恢復後的動畫中仍然存在一些問題。

那麼,有什麼辦法可以確保GridView的渲染不會干擾我的動畫嗎? 謝謝,對不起我的英文。

回答

1

您可以在頁面中所需的設定NavigationCacheMode並通過所有頁面瀏覽到預裝他們,而隱藏使用Opacity屬性的框架,但將是緩慢的你第一次做到這一點。嘗試限制您需要在每個頁面上解碼和呈現的位圖像素的數量。如果一切都失敗 - 看看WinRT XAML Toolkit的AlternativeFrame控件的Preload()方法是否有幫助。

+0

預加載所有的頁面幾乎沒有解決辦法,因爲我已經有6個,有一些項目數量很多。我當然會盡我所能減少圖片的數量和尺寸,但凍結仍然存在,即使是一個小的。更何況,爲未來的這類問題找到正確的解決方案將是一件好事。 我在考慮自己在尋找第三方工具,可能現在是學習其中一些的好時機。 非常感謝您提供具體的建議 - 我聽說WinRT XAML Toolkit相當多,可能是一個很好的開始。 – 2013-04-22 09:35:32