0

DatePicker から戻るときに PhoneApplicationPage_Loaded イベントを回避するにはどうすればよいですか (必ずしも [戻る] ボタンを使用する必要はありません)。

4

1 に答える 1

1

避けることはできません。ページをナビゲートするときは常に、loaded イベントが呼び出されます。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 に答える