Page.KeepAlive 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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
속성 값
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)를 자동으로 유지 됩니다.
설정 하지 말아야 KeepAlive 에 true
필요가 없으면:
- 페이지에 콘텐츠가 많은 경우 인스턴스화하는 데 시간이 오래 걸릴 수 있습니다. 페이지는 활성 상태로 유지 합니다. 페이지를 자주 탐색 하 고 비용을 지속적으로 페이지를 인스턴스화하고 사용자 경험에 저하가 될 수 있습니다. 그러나 성능 측면에서 기본 설정을 사용 하 고 해야 애플리케이션의 성능을 프로 파일링 테스트 페이지 로드 시간과 애플리케이션에 필요한 범위를 벗어나는 것을 식별 하는 경우 페이지를 활성 상태로 유지 하도록 구성 문제를 해결 하는 한 가지 방법은 수 있습니다.
참고
사용자가 XBAP(XAML 브라우저 애플리케이션)에서 뒤로 이동하는 경우 XBAP(XAML 브라우저 애플리케이션)의 탐색 기록에 유지되지 않는 페이지의 항목입니다. 활성 상태로 유지 되는 페이지의 저널 항목만 탐색 기록에 유지 됩니다.
종속성 속성 정보
식별자 필드 | KeepAliveProperty |
메타 데이터 속성 설정 true |
없음 |
참고
이 종속성 속성의 메타 데이터 유형이 PropertyMetadata이 아니라 FrameworkPropertyMetadata합니다.