페이지 인스턴스당 여러 상태 집합 기억
업데이트: 2007년 11월
이 샘플에서는 단일 페이지 인스턴스에 대해 여러 상태 집합을 기억하고 탐색하는 방법을 보여 줍니다.
이 샘플에서는 Windows Presentation Foundation의 특정 기능에 대해 설명하므로 최선의 응용 프로그램 개발 방법을 따르지 않습니다. WPF(Windows Presentation Foundation) 및 Microsoft .NET Framework 응용 프로그램 개발을 위한 최선의 방법에 대한 자세한 내용은 다음에서 적절한 항목을 참조하십시오.
내게 필요한 옵션 - 액세스 가능성에 대한 유용한 정보
지역화 - WPF 전역화 및 지역화 개요
성능 - WPF 응용 프로그램 성능 최적화
보안 - Windows Presentation Foundation 보안
샘플 빌드
Windows SDK(소프트웨어 개발 키트)를 설치하고 빌드 환경 명령 창을 엽니다. 시작 메뉴에서 모든 프로그램, Microsoft Windows SDK를 차례로 가리킨 다음 CMD 셸을 클릭합니다.
SDK(소프트웨어 개발 키트) 설명서 등에서 샘플을 하드 디스크 드라이브로 다운로드합니다.
빌드 환경 명령 창에서 샘플을 빌드하려면 샘플의 소스 디렉터리로 이동합니다. 명령 프롬프트에 MSBUILD를 입력합니다.
Microsoft Visual Studio에서 샘플을 빌드하려면 샘플 솔루션이나 프로젝트 파일을 로드한 다음 Ctrl+Shift+B를 누릅니다.
샘플 실행
빌드 환경 명령 창에서 컴파일된 샘플을 실행하려면 샘플 소스 코드 폴더 아래에 있는 Bin\Debug 또는 Bin\Release 폴더의 .exe 파일을 실행합니다.
Visual Studio에서 디버깅 기능을 사용하여 컴파일된 샘플을 실행하려면 F5 키를 누릅니다.
설명
상태 탐색을 사용하면 콘텐츠 부분의 상태 변경 내용을 이후에 탐색할 수 있는 탐색 기록 항목으로 기록할 수 있습니다. 탐색 기록 항목으로 기록된 상태를 탐색하면 해당 상태가 복원됩니다.
이 샘플에서는 목록 상자의 선택된 항목이 변경되는 경우 이를 기록하여 상태 탐색을 보여 줍니다. 각 상태 항목은 사용자 지정 CustomContentState 개체에 의해 저장되며 초기 항목을 추가하도록 AddBackEntry를 호출하고 항목이 탐색 동안 유지되도록 GetContentState를 호출하여 탐색 기록에 추가됩니다. 이 샘플에서는 후방 탐색 기록에서 상태 탐색 항목을 제거하는 방법도 보여 줍니다.
이 기술은 단일 페이지 인스턴스에 대해 여러 상태 집합을 기억하고 탐색해야 할 경우 가장 유용합니다. 페이지 인스턴스 간에 단일 상태 항목을 기억하려면 기록 가능한 종속성 속성을 사용합니다. 자세한 내용은 페이지 인스턴스 간 단일 상태 항목 기억를 참조하십시오. 페이지 인스턴스 간에 단일 상태 집합을 기억하려면 IProvideCustomContentState를 사용합니다. 자세한 내용은 페이지 인스턴스 간 단일 상태 집합 기억를 참조하십시오.
중요
사용자 지정 콘텐츠 상태로 정보를 저장하는 경우에는 페이지를 벗어나 탐색할 때 상태를 기억하는 대상 페이지 인스턴스에 대한 참조를 저장하지 마십시오. 이렇게 하면 WPF에서 페이지 인스턴스를 해제할 수 없으며 기본 탐색 기록 동작의 취지가 무효화됩니다. 이렇게 해야 하는 경우에는 KeepAlive를 대신 사용하십시오.