다음을 통해 공유


Page.KeepAlive 속성

정의

Page 인스턴스가 탐색 기록에 유지되는지 여부를 나타내는 값을 가져오거나 설정합니다.

public:
 property bool KeepAlive { bool get(); void set(bool value); };
public bool KeepAlive { get; set; }
member this.KeepAlive : bool with get, set
Public Property KeepAlive As Boolean

속성 값

Boolean

Page 인스턴스가 탐색 기록에 유지되면 true이고, 그렇지 않으면 false입니다. 기본값은 false입니다.

예제

다음 예제에서는 XAML을 사용하여 여러 탐색에서 클래스의 인스턴스를 Page 유지하는 방법을 보여 줍니다.

<Page
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    WindowTitle="HomePage"
    KeepAlive="True"
    >
</Page>
<Page x:Class="CSharp.HomePage"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  WindowTitle="HomePage"
    >
</Page>
using System;
using System.Windows;
using System.Windows.Controls;

namespace CSharp
{
    public partial class HomePage : Page
    {
        public HomePage()
        {
            InitializeComponent();

            // Keep this page in navigation history
            this.KeepAlive = true;
        }
    }
}

Imports System.Windows
Imports System.Windows.Controls

Namespace VisualBasic
    Partial Public Class HomePage
        Inherits Page
        Public Sub New()
            InitializeComponent()

            ' Keep this page in navigation history
            Me.KeepAlive = True
        End Sub

    End Class
End Namespace

설명

페이지는 먼저 탐색 하는 경우,의 새 인스턴스를 Page 클래스가 만들어집니다. (뒤로 또는 앞으로)에서 페이지를 탐색, 페이지에 대 한 항목 탐색 기록에 추가 됩니다. 기본적으로 항목에는 페이지 개체를 참조 하지 않습니다. 대신, 항목 페이지에 대 한 팩 uniform resource identifier (URI)를 포함합니다. 페이지에 대 한 항목을 탐색 기록을 사용 하 여 탐색 하면 경우 pack URI는 페이지의 새 인스턴스를 만드는 사용 됩니다. 이 동작은 과도 한 메모리 사용을 방지 하려면 기본값: 중요 한 양의 콘텐츠를 사용 하 여 특히 메모리를 신속 하 게 이용 페이지 인스턴스를 유지 합니다. 이 문제는 뒤에 저장할 수 있는 항목의 수를 앞으로 탐색 기록 스택을 제한이 팩트에서 보강 됩니다. 반면, 페이지에 대 한 pack Uri를 저장 하기에 거의 영향을 주지 않습니다 메모리 소비

주요 영향을 주는 페이지의 새 인스턴스를 만드는 다른 페이지 상태 페이지의 한 인스턴스에서 기억 하지 않은 경우 이러한 경우 Windows Presentation Foundation은 상태를 기억 하기 위해 다양 한 기술을 제공 합니다.

설정 페이지를 유지 하는 KeepAlive 속성을 true (기본값은 false).

참고

페이지를 인스턴스화하고 코드만 사용 하 여 탐색 하는 (예를 들어 호출 Navigate)를 자동으로 유지 됩니다.

설정 하지 말아야 KeepAlivetrue 필요가 없으면:

  • 페이지에 콘텐츠가 많은 경우 인스턴스화하는 데 시간이 오래 걸릴 수 있습니다. 페이지는 활성 상태로 유지 합니다. 페이지를 자주 탐색 하 고 비용을 지속적으로 페이지를 인스턴스화하고 사용자 경험에 저하가 될 수 있습니다. 그러나 성능 측면에서 기본 설정을 사용 하 고 해야 애플리케이션의 성능을 프로 파일링 테스트 페이지 로드 시간과 애플리케이션에 필요한 범위를 벗어나는 것을 식별 하는 경우 페이지를 활성 상태로 유지 하도록 구성 문제를 해결 하는 한 가지 방법은 수 있습니다.

참고

사용자가 XBAP(XAML 브라우저 애플리케이션)에서 뒤로 이동하는 경우 XBAP(XAML 브라우저 애플리케이션)의 탐색 기록에 유지되지 않는 페이지의 항목입니다. 활성 상태로 유지 되는 페이지의 저널 항목만 탐색 기록에 유지 됩니다.

종속성 속성 정보

식별자 필드 KeepAliveProperty
메타 데이터 속성 설정 true 없음

참고

이 종속성 속성의 메타 데이터 유형이 PropertyMetadata이 아니라 FrameworkPropertyMetadata합니다.

적용 대상

추가 정보