다음을 통해 공유


NavigationService 클래스

정의

탐색을 지원하는 메서드, 속성 및 이벤트를 포함합니다.

public ref class NavigationService sealed
public sealed class NavigationService
type NavigationService = class
Public NotInheritable Class NavigationService
상속
NavigationService

설명

NavigationService 는 브라우저 스타일 탐색의 컨텍스트 내에서 콘텐츠를 다운로드하는 기능을 캡슐화합니다.

콘텐츠는 모든 형식의 .NET Framework 개체 및 HTML 파일일 수 있습니다. 그러나 일반적으로 페이지는 탐색을 위해 콘텐츠를 패키지하는 방법으로 선호됩니다(참조 Page).

개체의 인스턴스를 제공하고 개체를 허용하는 메서드의 Navigate 오버로드를 호출하여 콘텐츠를 탐색할 수 있습니다.

또는 URI를 허용하는 메서드 오버로드 중 하나에 상대 또는 절대 URI를 Navigate 전달하여 콘텐츠를 탐색할 수 있습니다.

URI NavigationService 를 통해 콘텐츠를 탐색하는 경우 콘텐츠가 포함된 개체를 반환합니다.

탐색의 수명은 다음 이벤트를 통해 추적할 수 있습니다.

탐색이 발생할 때마다 모든 이벤트가 발생하는 것은 아닙니다. 발생하는 이벤트 집합은 발생하는 탐색 유형(콘텐츠 또는 콘텐츠 조각)과 탐색이 완료되는 방식(취소, 중지 또는 실패)에 따라 결정됩니다.

다음 그림에서는 이러한 이벤트가 발생하는 시퀀스를 보여 줍니다.

페이지 탐색 흐름도

탐색 중 또는 탐색 NavigationService 후에 탐색 중인 콘텐츠에 대한 정보를 제공합니다. 여기에는 탐색 중인 콘텐츠의 URI(Source), 현재 콘텐츠의 URI(CurrentSource) 및 탐색된 콘텐츠가 포함된 개체가Content 포함됩니다.

콘텐츠를 탐색할 NavigationService 때 탐색을 탐색 기록에 항목으로 기록합니다. 새 탐색이 발생할 때, 메서드를 호출 Navigate 하거나, 앞으로 탐색 기록의 항목으로 이동하여 호출 GoForward하면 항목이 뒤로 탐색 기록에 추가됩니다. 항목을 호출 GoBack하여 뒤로 탐색 기록의 항목으로 이동하여 탐색 기록을 전달하기 위해 추가됩니다. CanGoBackCanGoForward 각각 뒤로 및 앞으로 탐색 기록에 항목이 있는지 여부를 보고합니다. 또한 뒤로 탐색 기록의 가장 최근 항목은 호출 RemoveBackEntry하여 제거할 수 있습니다.

기본적으로 NavigationService 콘텐츠 개체의 인스턴스는 탐색 기록에 저장하지 않습니다. 대신 탐색 NavigationService 기록을 사용하여 탐색할 때마다 콘텐츠 개체의 새 인스턴스를 만듭니다. 이 동작은 많은 수와 많은 콘텐츠가 탐색될 때 과도한 메모리 소비를 방지하도록 설계되었습니다. 따라서 콘텐츠의 상태는 한 탐색에서 다음 탐색으로 기억되지 않습니다. 그러나 WPF는 탐색 기록의 콘텐츠 부분에 대한 상태 조각을 저장할 수 있는 몇 가지 기술을 제공합니다.

또한 단일 AddBackEntry페이지 인스턴스에 대해 여러 상태 집합을 기억할 수 있습니다.

NavigationServicesealed 클래스이므로 인스턴스화할 수 없습니다. 대신 NavigationService 탐색기에서 탐색을 사용하도록 설정하는 데 사용됩니다. WPF에는 두 개의 탐색기가 NavigationWindowFrame있습니다.

시각적으로 XBAP는 Internet Explorer를 탐색기로 사용하여 통합된 사용자 환경을 제공합니다. 그러나 실제로 XBAP는 탐색기로 사용합니다 NavigationWindow . MainWindow Internet Explorer에서 실행되는 XBAP의 속성은 다음에 대한 참조를 NavigationWindow반환하고, 관리되는 탐색 기록은 Internet Explorer에서 관리하는 NavigationWindow 탐색 기록과 통합됩니다.

  • 콘텐츠를 호출 NavigateGoBackGoForward 하여 탐색하고 XBAP 내에서 관련 탐색 기록 항목도 Internet Explorer 탐색 기록에 추가됩니다.
  • Internet Explorer 탐색 UI의 항목을 선택하면 Internet Explorer에서 NavigationService 해당 항목과 연결된 콘텐츠로 뒤로 또는 앞으로 이동합니다.

메모

A Frame 는 자체 탐색 기록을 제공하거나 이를 호스팅하는 탐색기의 탐색 기록을 사용할 수 있습니다. 자체 탐색 기록을 제공하는 경우 Frame 자체 탐색 UI를 표시하여 탐색 기록의 항목을 탐색할 수 있습니다. 이러한 항목은 호스트 탐색기(NavigationWindow, Frame브라우저)의 탐색 기록에 추가되지 않으므로 각 항목의 탐색 UI에서 이동할 수 없습니다(참조 JournalOwnership).

XBAP 지원에 대한 자세한 내용은 WPF 브라우저 호스팅 애플리케이션(XBAP)에 대한 질문과 대답을 참조하세요.

속성

Name Description
CanGoBack

뒤로 탐색 기록에 항목이 하나 이상 있는지 여부를 나타내는 값을 가져옵니다.

CanGoForward

앞으로 탐색 기록에 항목이 하나 이상 있는지 여부를 나타내는 값을 가져옵니다.

Content

현재 콘텐츠가 포함된 개체에 대한 참조를 가져오거나 설정합니다.

CurrentSource

마지막으로 탐색한 콘텐츠의 URI를 가져옵니다.

Source

현재 콘텐츠의 URI 또는 현재 탐색 중인 새 콘텐츠의 URI를 가져오거나 설정합니다.

메서드

Name Description
AddBackEntry(CustomContentState)

개체가 포함된 뒤로 탐색 기록에 항목을 추가합니다 CustomContentState .

Equals(Object)

지정된 개체가 현재 개체와 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 사용됩니다.

(다음에서 상속됨 Object)
GetNavigationService(DependencyObject)

콘텐츠에 지정된 DependencyObject항목이 NavigationService 포함된 탐색기용 참조를 가져옵니다.

GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
GoBack()

백 탐색 기록에서 가장 최근 항목(있는 경우)으로 이동합니다.

GoForward()

앞으로 탐색 기록에서 가장 최근 항목(있는 경우)으로 이동합니다.

MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
Navigate(Object, Object)

개체에 포함된 콘텐츠로 비동기적으로 탐색하고 탐색 중에 처리에 사용할 데이터가 포함된 개체를 전달합니다.

Navigate(Object)

개체에 포함된 콘텐츠로 비동기적으로 이동합니다.

Navigate(Uri, Object, Boolean)

URI에 있는 원본 콘텐츠로 비동기적으로 탐색하고 탐색 중에 처리를 위해 탐색 상태가 포함된 개체를 전달하고 콘텐츠를 샌드박스로 만듭니다.

Navigate(Uri, Object)

URI에 있는 원본 콘텐츠로 비동기적으로 탐색하고 탐색 중에 처리에 사용할 데이터가 포함된 개체를 전달합니다.

Navigate(Uri)

URI로 지정된 콘텐츠로 비동기적으로 이동합니다.

Refresh()

현재 콘텐츠를 다시 로드합니다.

RemoveBackEntry()

백 기록에서 가장 최근 저널 항목을 제거합니다.

StopLoading()

현재 탐색 요청에 대한 콘텐츠의 추가 다운로드를 중지합니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

이벤트

Name Description
FragmentNavigation

콘텐츠 조각 탐색이 시작될 때 발생하며, 원하는 조각이 현재 콘텐츠에 있는 경우 또는 원본 XAML 콘텐츠가 로드된 후 원하는 조각이 다른 콘텐츠에 있는 경우 즉시 발생합니다.

LoadCompleted

탐색된 콘텐츠가 로드, 구문 분석 및 렌더링을 시작했을 때 발생합니다.

Navigated

탐색 중인 콘텐츠가 발견되고 속성에서 Content 사용할 수 있을 때 발생하지만 로드가 완료되지 않았을 수 있습니다.

Navigating

새 탐색이 요청되면 발생합니다.

NavigationFailed

요청된 콘텐츠로 이동하는 동안 오류가 발생할 때 발생합니다.

NavigationProgress

탐색 진행률 정보를 제공하기 위해 다운로드하는 동안 주기적으로 발생합니다.

NavigationStopped

메서드가 StopLoading() 호출되거나 현재 탐색이 진행 중인 동안 새 탐색이 요청되는 경우에 발생합니다.

적용 대상