在wp 8.1中页面导航时出现奇怪的行为

时间:2014-09-02 17:26:01

标签: c# windows-phone-8 windows-phone-8.1

我正在制作一个Wp 8.1应用程序。

我有这个"读者"页。它的构造函数是 -

    public Reader()
    {
        this.InitializeComponent();
        this.NavigationCacheMode = NavigationCacheMode.Enabled;
        initalizeTimers();
        initAd();
    }

和onNvaigatedTo

    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        HardwareButtons.BackPressed += Hardware_backPressedLocal;
        var x = (Tuple<int, string, Global.FileType>)e.Parameter;

        //load settings here
        loadColorSchemes();
        setStatusBarColor();

        if (e.NavigationMode == NavigationMode.Back)
        {
            readerVm.refreshWebView();
            return;
        }

        if (x != null)
        {
            initalizeReader(x);
        }
    }

initalizeReader()是一种异步方法。该页面前面有一个网格,用于显示等待消息,而initializeReader方法隐藏该网格。

问题:

点击一个将Frame.Navigate()方法调用到阅读器页面的按钮,有时阅读器页面加载等待网格,该网格会在某个时间(预期)后隐藏,有时用户界面会冻结,然后读取页面加载等待网格已经隐藏。 UI有70-80%的时间冻结。

你能说出这里出了什么问题吗?以及如何解决它?

1 个答案:

答案 0 :(得分:0)

尝试在页面中的事件initalizeReader(x);引发时调用您的方法Loaded。 此外,如果此方法调用某些异步函数,也可以异步调用它们。