2013-07-15 1 views
0

DatePicker에서 뒤로 탐색 할 때 PhoneApplicationPage_Loaded 이벤트를 피하는 방법 (반드시 뒤로 버튼 사용하지 않아도 됨)?DatePicker에서 돌아올 때 PhoneApplicationPage_Loaded 피하기

+0

귀하는 (방법 이내) DatePicker에서 또는 DatePicker에서의 값인 경우! = null이 바이 패스 수단을 해제 PhoneApplicationPage_Loaded의 내용을 무시하도록 지시하는 부울 전역 변수를 설정할 수 있는가? – 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 
    } 
} 
관련 문제