c# - LocalStorage 重定向 Windows Phone 7

标签 c# silverlight windows-phone-7 xaml local-storage

我正在创建一个 Windows Phone 7.5 应用程序,理论上,它应该启动一个仅显示一次的页面。我们将其命名为 SplashPage.xaml。 SplashPage.xaml 包含两个具有不同参数值的按钮:
这是英文按钮,还有另一个按钮:

    private void chooseEnglish_Click_1(object sender, RoutedEventArgs e)
    {
        languageChooser.Add("languageChooser", "English");
        NavigationService.Navigate(new Uri("/MainPage.xaml?Language=English", UriKind.Relative));
    }

但是,目前我还保存了一个 LocalSettings 值“languageChooser”,点击后值为“English”,该值存储在名为 ApplicationSettings 的语言选择器。现在,我希望它做的基本上是:
如果(languageChooser 包含“挪威语”或“英语”作为值)
-> 启动时自动将用户重定向(输入 SplashPage.xaml)到 MainPage.xaml
其他
-> 用户选择一种语言,并根据他/她单击的按钮存储该值。

我希望这是足够的信息。截至目前,SplashPage.xaml.cs 的开头看起来 像这样:

    public SplashPage()
    {
        InitializeComponent();

        if ((string)languageChooser["languageChooser"] == "Norwegian" || (string)languageChooser["languageChooser"] == "English")
        {
            NavigationService.Navigate(new Uri("/MainPage.xaml?Language=Norwegian", UriKind.Relative));
        }
        else
        {

        }

    }  

有什么想法吗?

最佳答案

private void chooseEnglish_Click_1(object sender, RoutedEventArgs e)
{
    languageChooser.Add("languageChooser", "English");
    languageChooser.Save();
    NavigationService.Navigate(new Uri("/MainPage.xaml?Language=English", UriKind.Relative));
}

您的点击事件缺少保存。这会将值保存到 ApplicationSettings。

public SplashPage()
{
    InitializeComponent();

    string language;
    languageChooser.TryGetValue("languageChooser", out language);
    if (language != null)
    {
        NavigationService.Navigate(new Uri("/MainPage.xaml?Language=" + language, UriKind.Relative));
    }

} 

在应用程序启动时加载值时。第一次运行时,它们的键没有值,因此您需要使用 TryGetValue 方法。

关于c# - LocalStorage 重定向 Windows Phone 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15090158/

相关文章:

c# - 如何将 unicode 编码的数据转换为 Devanagri(印地语)文本

c# - 正则表达式匹配在 C# 中不能很好地匹配

c# - WP7 如何在设备上调试飞行模式?

c# - Silverlight Assembly.Load() 仅适用于全名/强名

c# - 从 WPF 中的 ListBox 获取被点击的元素

c# - 您在使用 Excel Interop 时遇到的最烦人/最奇怪的事情是什么

c# - 引用类型附加属性 (DependencyProperty) 何时发布?

MetroGridHelper 的 Android 替代品

html - Windows Phone 7 下载纯 HTML 作为字符串?

javascript - 在代码隐藏中访问动态创建的 html 复选框