2013-07-15 61 views
0

如何在從DatePicker返回(不一定使用後退按鈕)導航時避免PhoneApplicationPage_Loaded事件?從DatePicker返回時避免PhoneApplicationPage_Loaded

+0

你可以設置一個全局變量布爾表示繞過PhoneApplicationPage_Loaded當您關閉的DatePicker,或者如果DatePicker的值!= NULL繞過方法(方法中)中的內容? – ApolloSoftware

+0

我不這麼不幸 – Newbie

回答

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 
    } 
}