다음을 통해 공유


페이지 인스턴스 간 단일 상태 집합 기억

업데이트: 2007년 11월

이 샘플에서는 IProvideCustomContentStateCustomContentState를 사용하여 페이지 인스턴스 간에서 여러 페이지 상태 항목을 기억하는 방법을 보여 줍니다.

이 샘플에서는 Windows Presentation Foundation의 특정 기능에 대해 설명하므로 최선의 응용 프로그램 개발 방법을 따르지 않습니다. WPF(Windows Presentation Foundation) 및 Microsoft .NET Framework 응용 프로그램 개발을 위한 최선의 방법에 대한 자세한 내용은 다음에서 적절한 항목을 참조하십시오.

내게 필요한 옵션 - 액세스 가능성에 대한 유용한 정보

지역화 - WPF 전역화 및 지역화 개요

성능 - WPF 응용 프로그램 성능 최적화

보안 - Windows Presentation Foundation 보안

Download sample

샘플 빌드

  • Windows SDK(소프트웨어 개발 키트)를 설치하고 빌드 환경 명령 창을 엽니다. 시작 메뉴에서 모든 프로그램, Microsoft Windows SDK를 차례로 가리킨 다음 CMD 셸을 클릭합니다.

  • SDK(소프트웨어 개발 키트) 설명서 등에서 샘플을 하드 디스크 드라이브로 다운로드합니다.

  • 빌드 환경 명령 창에서 샘플을 빌드하려면 샘플의 소스 디렉터리로 이동합니다. 명령 프롬프트에 MSBUILD를 입력합니다.

  • Microsoft Visual Studio에서 샘플을 빌드하려면 샘플 솔루션이나 프로젝트 파일을 로드한 다음 Ctrl+Shift+B를 누릅니다.

샘플 실행

  • 빌드 환경 명령 창에서 컴파일된 샘플을 실행하려면 샘플 소스 코드 폴더 아래에 있는 Bin\Debug 또는 Bin\Release 폴더의 .exe 파일을 실행합니다.

  • Visual Studio에서 디버깅 기능을 사용하여 컴파일된 샘플을 실행하려면 F5 키를 누릅니다.

설명

기본적으로 WPF(Windows Presentation Foundation)에서는 탐색 기록에 페이지 인스턴스를 저장하지 않습니다. 대신 탐색할 때마다 새 페이지 인스턴스가 만들어집니다. 이후에 페이지를 다시 탐색해도 페이지의 첫 번째 인스턴스에 있는 상태 정보는 아무 것도 기억되지 않습니다. WPF에서 암시적으로 탐색 기록에 페이지 인스턴스와 페이지 상태를 유지할 수는 있지만 메모리가 많이 사용될 수 있습니다.

그러나 WPF에서는 사용자가 페이지 항목과 함께 상태 정보를 탐색 기록에 저장하고 탐색 기록을 사용하여 상태 정보를 탐색하는 경우 상태 정보를 새 페이지 인스턴스에 다시 적용할 수 있는 인프라를 제공합니다.

이 샘플에서는 페이지에서 하나 이상의 항목을 포함하는 단일 상태 집합을 기억할 수 있도록 하는 IProvideCustomContentState를 페이지에서 구현하는 방법을 보여 줍니다. 페이지를 탐색하면 WPF에서는 GetContentState를 호출하여 페이지에 기억할 상태를 요청하고 GetContentState에서는 상태를 저장하고 재생하기 위해 사용자가 만든 CustomContentState의 서브클래스를 반환합니다.

이 기술은 페이지 인스턴스 간에서 여러 페이지 상태 항목을 저장하려는 경우 매우 유용합니다. 페이지 인스턴스 간에 단일 상태 항목을 기억하려면 기록 가능한 종속성 속성을 사용해야 합니다. 자세한 내용은 페이지 인스턴스 간 단일 상태 항목 기억를 참조하십시오. 단일 페이지 인스턴스의 여러 상태 집합을 기억하려면 페이지 인스턴스당 여러 상태 집합 기억를 참조하십시오.

중요

사용자 지정 콘텐츠 상태에 정보를 저장하는 경우에는 기억하는 상태의 페이지 인스턴스에 대한 어떠한 참조도 저장할 수 없습니다. 이렇게 하면 WPF에서 페이지 인스턴스를 해제할 수 없으며 기본 탐색 기록 동작의 취지가 무효화됩니다. 이렇게 해야 하는 경우에는 KeepAlive를 대신 사용하십시오.

참고 항목

작업

페이지 인스턴스 간 단일 상태 집합 기억

페이지 인스턴스당 여러 상태 집합 기억