我正在用C#編寫Windows Phone 7應用程序。 在這個應用程序中,我有一些設置(語言和音頻)。 在第一次啓動時,應用程序允許您在MainPage.xaml(Start Page)中選擇該語言並將值保存在IsolatedStorage中。 在下一次啓動時,應用程序將自動在用戶選擇的語言的開始菜單上運行。問題是,當你選擇在MainPage.xaml中如何檢查變量是否已被聲明? (IsolatedStorage)
語言這就是我所做的,我不能簽入IsolatedStorage的價值,因爲它宣稱:
在App.xaml中我使用:
RootFrame.Navigating += new NavigatingCancelEventHandler(MainPage.RootFrame_Navigating);
在MainPage.xaml中我有程序RootFrame_Navigating
:
public static void RootFrame_Navigating(object sender, NavigatingCancelEventArgs e)
{
if (e.Uri.ToString().Contains("/MainPage.xaml") != true)
return;
// Change the current navigation
e.Cancel = true;
App.RootFrame.Dispatcher.BeginInvoke(delegate
{
string confronto = (string)MainPage.Impostazioni.appSettings["lingua"];
if ((confronto == "italiano") || (confronto == "english"))
App.RootFrame.Navigate(new Uri("/MainPage.xaml?method=cancel%20navigation&time=", UriKind.Relative));
else
App.RootFrame.Navigate(new Uri("/StartMenu.xaml?method=cancel%20navigation&time=", UriKind.Relative));
});
}
這就是我如何保存語言:
private void engLink_Click(object sender, RoutedEventArgs e)
{
Impostazioni.appSettings.Add("language", "english");
}
private void itaLink_Click(object sender, RoutedEventArgs e)
{
Impostazioni.appSettings.Add("language", "italiano");
}
錯誤是KeyNotFoundException
,因爲我在聲明它之前使用了這個變量,我想......我該如何解決這個問題?
謝謝!
是的,但這樣一來,每次我打開應用程序,設置將被初始化爲空白,所以它不能夠設置正確的語言...:\ – AshleyT 2011-12-15 18:20:06