2011-07-26 1 views
1

나는 Windows phone 7 (wp7) 응용 프로그램에서 상태를 저장하기위한 전략을 알고 싶습니다. 내가 상태라고 말하면, 스택의 각 페이지의 모델 - 뷰 상태를 의미합니다.Windows에서 전략을 비웃음 전화 7, 여러 페이지의 상태를 저장하는 방법

최근에 나는 problems with tombstoning in WP7, cannot tell if i need to restore or instantiate/query new data에서 질문을했고 해결책이 작동합니다. 그러나이 접근법은 임시 및/또는 특정 페이지에만있는 것으로 보입니다. 코드는 앞에있는 페이지의 상태를 저장하지 않습니다.

앱이 활성화되거나 비활성화 될 때 앱 상태의 복원 또는 백업을 처리해야한다고 생각합니다. App.xaml.cs를 위해 생성 된 코드 숨김은 삭제 표시 될 때 어떻게 우리가 응용 프로그램을 전체 상태를 저장하기 위해 이러한 방법을 활용하는 방법

private void Application_Activated(object sender, ActivatedEventArgs e) 
private void Application_Deactivated(object sender, DeactivatedEventArgs e) 

를 생성? 아직 온라인에서 좋은 튜토리얼을 찾지 못했습니다.

어떤 도움을 주시면 감사하겠습니다.

답변

0

실제로 이러한 방법은 잊어 버릴 수도 있습니다. 덤 스톤을 영속 상태로 생각하지 말아야합니다.

분명히 전체 응용 프로그램의 상태를 마술처럼 묘사 할 수는 없습니다. 일반적으로 페이지의 UI 상태는 개별 페이지에서만 알 수 있습니다.

당신이해야 할 일은, 유지하고 싶은 UI 상태가있는 경우 그 상태를 파악한 다음, 데이터와 함께 (명백하게) PhoneApplicationService.State 또는 IsolatedStorage.ApplicationSettings에 유지하는 것입니다 (크기에 따라 다름). 자료).

ViewModels의 경우 삭제 표시가 상당히 쉽습니다. 삭제 된 인스턴스가 있는지 확인하는 코드를 추가 한 다음 생성시 뷰 모델의 데이터를로드하십시오. 모든 UI 설정을 뷰 모델에 바인딩하면 꽤 황금이됩니다.

이전 질문의 코드를 ViewModels 생성자에서 거의 동일한 결과와 함께 사용할 수 있습니다. ViewModel을 지속적으로 유지하려면 PropertyChanged에 대한 로컬 처리기를 연결하고 호출 될 때마다 ViewModel의 상태를 저장하십시오.