首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows Phone 8-导航错误

Windows Phone 8-导航错误
EN

Stack Overflow用户
提问于 2013-03-22 18:11:35
回答 3查看 723关注 0票数 1

我在IsolatedStorage里有一个文件。如果文件存在,我想重定向到登录页面或创建帐户页面。

如果该文件不存在,应用程序将转到创建页面,创建并保存密码,然后应用程序重定向到登录页面。但是,如果IsolatedStorage中的文件存在,它将不会定向。

代码语言:javascript
复制
private void fileExists()
        {
            IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication();
            if (store.FileExists("passwordFile"))
            {
                //NavigationService.Navigate(new Uri("/Login.xaml", UriKind.Relative));
                MessageBox.Show("Should be redirecting here");
            }

            else
            {
                MessageBox.Show("Welcome. Please create an account. Ensure that you remember your password!");
            }
        }

实际的消息确实显示,所以它正在被调用,如果文件不存在,则执行else,因此我的逻辑是正确的。

这里调用了FileExists()函数。

代码语言:javascript
复制
public MainPage()
        {
            InitializeComponent();
            fileExists();
        }

另一个重定向发生在这里

代码语言:javascript
复制
if ((password1.Password == password2.Password) & (password1.Password.Trim().Length > 0 || password2.Password.Trim().Length > 0))
            {
                byte[] PasswordByte = Encoding.UTF8.GetBytes(password1.Password);
                byte[] ProtectedPassword = ProtectedData.Protect(PasswordByte, null);
                this.WritePasswordToFile(ProtectedPassword);

                NavigationService.Navigate(new Uri("/Login.xaml", UriKind.Relative));
            }

该错误是一个System.NullReferenceException,但未在用户代码中处理。

EN

回答 3

Stack Overflow用户

发布于 2013-03-22 18:36:46

是否已尝试在MainPage加载时调用文件存在检查?这可能是存储准备问题,即使它正在执行。其次,如果你能指出确切的异常发生在哪里。还要检查这个link,它可能会对您有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2013-03-22 18:49:33

问题是NavigationService仍然是空的,您可以通过在重定向行上放置断点来验证,在MainPage.Loaded事件中放置相同的代码,然后它就会工作,(我希望它会工作)

正如我所期望的,这只是一个重定向页面,您可以在初始化时检查文件并保存uri,以便在类中重定向,并在页面加载时重定向。

票数 1
EN

Stack Overflow用户

发布于 2013-03-22 18:57:34

我需要将fileExists()从构造函数移到一个新函数中。

代码语言:javascript
复制
protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            fileExists();
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15567714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档