0

从 DatePicker 导航返回时(不一定使用后退按钮),如何避免 PhoneApplicationPage_Loaded 事件?

4

1 回答 1

1

你无法避免它。导航页面时始终调用加载的事件。当您使用 DatePicker 时,它会将您从当前页面导航到另一个页面,然后在您完成后导航回来。因此,您将始终收到 Loaded 事件。

有很多方法可以避免调用需要加载一次的代码。您可以检查静态变量的值

private static bool _loaded = false;
private void OnLoaded(object sender, EventArgs e)
{
    if(_loaded == false)
    {
        // do work
        _loaded = true;
    }
}

您可以从 NavigationEventArgs 检查 NavigationMode 以检查页面是否正在重新加载。

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    if (e.NavigationMode == NavigationMode.New)
    {
        // Page has not been loaded yet!
        // do work
    }
}
于 2013-07-15T19:29:59.413 回答