0

我開發手機在Windows 8應用程序和創建使用「導航應用」模板創建一個新的項目,因爲我想在我的應用程序使用了幾頁。頁面導航在Win Phone 8的應用程序加載

默認起始頁是home.html的,如在default.html中指出:

<body class="phone"> 
    <div id="contenthost" data-win-control="Application.PageControlNavigator" data-win-options="{home: '/pages/home/home.html'}"></div> 
</body> 

我要檢查數據,我在

Windows.Storage.ApplicationData.current.localFolder 

保存應用程序之前完成加載。 取決於數據的結果,我想繼續home.html的或導航到不同的頁面。

我的想法是在'飛濺'時間處理我需要的所有東西,然後刪除要加載的頁面。我只是不確定這在Win Phone開發中是可能的。

我雖然爲最好的地方是在裝載的情況下default.js文件,但我有2個問題:

  • 試圖從裝載的不同的頁面導航似乎並沒有工作。該應用程序始終進入home.html的

  • 獲取數據是異步,因此應用程序可以使加載我得到的數據,並能檢查它。

    app.onloaded = function (args) { 
    var storageFolder = Windows.Storage.ApplicationData.current.localFolder; 
    
    storageFolder.getFileAsync('settings.txt').then(
        function (file) { 
         if (file) { 
          Windows.Storage.FileIO.readTextAsync(file).then(function (contents) { 
           if (contents.length > 0 && contents != '{}') { 
            var settingsObj = JSON.parse(contents); 
            if ('id' in settingsObj && settingsObj.id > 0) { 
             //Go to Home 
    
            WinJS.Navigation.navigate('/pages/home/home.html'); 
            return; 
            } 
           } 
    
           //Go To Login 
           WinJS.Navigation.navigate('/pages/login/login.html'); 
          }); 
         } 
        }, 
        function (e) { 
         storageFolder.createFileAsync('settings.txt'); 
        } 
    ); 
    }; 
    

回答

0

你可以嘗試把這些代碼在默認頁面正常加載app.xaml.cs。

檢查你在找什麼,然後應用程序數據使用if語句來看看結果滿足你想要什麼e.g

if(true) 
{ 
    Frame.Navigate(typeof(MainPage)); 
}else 
{ 
    Frame.Navigate(typeof(AnotherPage)); 
} 
相關問題