필자는 Pivot을 사용하여 많은 데이터를 표시하는 WP7 Silverlight 앱을 보유하고 있습니다. 먼저 프로젝트를 생성 할 때, 비주얼 스튜디오 템플릿 PAGE_LOADED에 ViewModel.LoadData를 호출 그러나ViewModel.LoadData를 언제 호출해야합니까?
private void MainPage_Loaded(object sender, RoutedEventArgs e)
{
App.ViewModel.LoadData();
}
on MSDN 당신이 PAGE_LOADED 대신 OnNavigatedTo 사용해야 말한다 페이지가 활성화 될 때 OnNavigatedTo 한 번만 호출되기 때문에, PAGE_LOADED 동안 항목이 페이지의 시각적 트리에 추가 될 때마다 호출됩니다. MSDN 문서는 Silverlight Windows Phone 대신 Silverlight 4 용입니다.
당신은 탐색 요청을 검토하고 표시 페이지를 준비하기 위해 OnNavigatedTo 방법 우선합니다. 예를 들어, 요청한 데이터를로드하고 시각적 인 요소를 사용 또는 사용 중지 할 수 있습니다.
일반적으로 Loaded 이벤트에 대한 처리기 을 만드는 대신 OnNavigatedTo 메서드를 사용합니다. 페이지가 활성화 될 때마다 에 대해서만 한 번만 호출되기 때문에 OnNavigatedTo 메서드가 바람직합니다. 입니다. Silverlight 프레임 워크는 시각적 트리에 요소가 추가 될 때마다 로드 이벤트를 발생 시키며 페이지를 활성화 할 때 이 두 번 이상 나타날 수 있습니다. 페이지가 인 경우에도 OnNavigatedTo 메서드는 각 요청에 대해 에 대해 호출됩니다. 은이 메소드 코드에 을 각 요청마다 실행해야하며, 해당 코드를 생성자에 배치하는 것보다는 이되어야합니다.
Visual Studio 피벗 템플릿이 Page_Loaded에서 ViewModel.LoadData를 호출하는 이유가 있습니까?
"페이지가 시각적 트리에 항목이 추가 될 때마다 Page_Loaded가 호출됩니다." 어떤 참조? –
잘못된 링크를 참조했습니다. OnNavigatedTo에 대한 MSDN의 문서는 http://msdn.microsoft.com/en-us/library/system.windows.controls.page.onnavigatedto(VS.95).aspx – Jim