한 페이지에서 다른 페이지로 많은 데이터 집합을 전달해야합니다. 내가 아는 한 두 가지 선택 사항이 있습니다. PhoneApplicationService 및 IsolatedStorageSettings.PhoneApplicationService.Current.State와 IsolatedStorageSettings windows phone
PhoneApplicationService는 페이지간에 전달 될 때 많은 지연을 생성합니다. 따라서 IsolatedStorageSettings를 사용했지만 IsolatedStorageSettings에서 항목을 제거하는 동안 비정상적인 개체 생성이 발생했습니다.
큰 복잡한 개체를 다루는 것이 가장 좋습니다.
IsolatedStorageSettings에서 항목을 제거하는 중에 실제로 어떤 일이 발생합니까?
감사
편집
: 나는 분명 나하는 IsolatedStorageSettings에서 항목을 제거, 이미 저장된 키에 대한 새로운 객체가 생성 는 경우.샘플 코드 :
if (IsolatedStorageSettings.ApplicationSettings.Remove("FormFields"))
{
IsolatedStorageSettings.ApplicationSettings.Add("FormFields", app.response);
}
else
{
IsolatedStorageSettings.ApplicationSettings.Add("FormFields", app.response);
}
그래서'IsolatedStorage'를 사용하면 (묵시적으로) 저장소에 데이터를 씁니다. 즉, 데이터는 본질적으로 "영구적"이며 디스크에 기록되므로 디스크 쓰기 지연이 발생합니다. 당신이 정말로 찾고있는 것은'ServiceLocator'와 결합 된'ViewModel'입니다. 이 패턴을 사용하면 뷰에 필요한 데이터를 저장하는 (기본적으로) 특정 클래스 (ViewModel)의 싱글 톤을 저장하는 한 곳을 가질 수 있습니다. MvvmLight를 체크 아웃해야한다. WPv와 WP8을 모두 포함하고 있기 때문에'ViewModel'과'ServiceLocator'를 구현하는 것이 매우 쉽다. –
감사합니다. 예, 당신이 말하는 것은 옳습니다. ViewModels를 유지하기 위해 이미 구현했습니다. 이제는 다른 메서드로 다시 전환해야합니다. 그러나 한 페이지에서 다른 페이지로 전달하는 가장 좋은 방법은 찾고있는 중입니다. –
그러면 키가 ServiceLocator가됩니다. 이를 통해 ViewModelLocator.MyPageVM과 같은 것을 쉽게 말할 수 있습니다. 그렇다면 페이지 사이에 참조를 전달할 필요가 없습니다. 그들은 단지 그것들을 정적으로 검색 할 수 있습니다. –