使用Navigation.PushAsync

时间:2016-10-20 21:58:24

标签: c# xamarin.forms

我的应用程序中的某些页面 - 如FillForm页面 - 首先需要注册。为了确保用户无法在未注册的情况下打开这些页面我做了以下

  • 在一个名为Registration
  • 的网页上制作了一个注册表单
  • 创建了一个名为ContentPageRequiresRegistration
  • 的新类
public class ContentPageRequiresRegistration : ContentPage
{

    private static enumUserType userType;

    public ContentPageRequiresRegistration():base()
    {
        if(userType==enumUserType.unRegistered)
            Task.Run(() => this.LoadRegitrationPage()).Wait();

    }

    private async void LoadRegitrationPage()
    {
        await Navigation.PushAsync(new Registration(false));
    }
}
  • 需要从ContentPageRequiresRegistration
  • 注册的扩展页面

public partial class FillForm:ContentPageRequiresRegistration { ... }

App.cs档案中

public App(){
MainPage = new NavigationPage(new FillForm(1));
}

FillForm xaml

<?xml version="1.0" encoding="utf-8" ?>
<ContentPageRequiresRegistration xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="HuraApp.Pages.FillForm"
             Title="Fill forms">
</ContentPageRequiresRegistration>

但是当我运行应用程序时它给了我一个unhandled exception,经过一些调试后它似乎是由导航语句引起的

await Navigation.PushAsync(new Registration(false));

为什么会出现这个问题,我该如何解决?

0 个答案:

没有答案