내보내기(0) 인쇄
모두 확장

NavigationWindow 클래스

업데이트: 2007년 11월

콘텐츠 탐색을 지원하는 창을 나타냅니다.

네임스페이스:  System.Windows.Navigation
어셈블리:  PresentationFramework(PresentationFramework.dll)
XAML의 XMLNS: http://schemas.microsoft.com/winfx/xaml/presentation

[ContentPropertyAttribute]
[TemplatePartAttribute(Name = "PART_NavWinCP", Type = typeof(ContentPresenter))]
public class NavigationWindow : Window
/** @attribute ContentPropertyAttribute */
/** @attribute TemplatePartAttribute(Name = "PART_NavWinCP", Type = ContentPresenter) */
public class NavigationWindow extends Window
public class NavigationWindow extends Window
<NavigationWindow>
  Content
</NavigationWindow>

NavigationWindowWindow에서 파생되며 콘텐츠를 탐색하고 표시할 수 있는 기능을 사용하여 확장합니다.

콘텐츠는 모든 .NET Framework 개체 또는 HTML 파일일 수 있습니다. 그러나 일반적으로는 Page 개체를 사용하여 탐색하기 쉽도록 콘텐츠를 구성합니다.

원하는 콘텐츠의 URI로 Source 속성을 설정하여 콘텐츠를 탐색할 수 있습니다. Navigate 메서드의 다음과 같은 오버로드 중 하나를 사용하여 콘텐츠를 탐색할 수도 있습니다.

URI에 따라 콘텐츠를 탐색하는 경우 NavigationWindow는 콘텐츠가 들어 있는 개체를 반환합니다.

참고:

URI에 따라 탐색하는 경우에는 콘텐츠 조각에 대한 탐색도 지원됩니다. FragmentNavigation을 참조하십시오.

개체를 받는 Navigate 메서드 오버로드 중 하나를 사용하여 콘텐츠를 탐색할 수도 있습니다.

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

탐색이 수행될 때마다 모든 이벤트가 발생하지는 않으며, 수행되는 탐색 형식(콘텐츠 또는 콘텐츠 조각) 및 탐색이 완료되는 방식(취소, 중지 또는 실패)에 따라 발생하는 이벤트 집합이 결정됩니다.

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

페이지 탐색 흐름 차트

탐색 도중 또는 탐색 후 NavigationWindow는 탐색 대상 콘텐츠(Source)의 URI, 현재 콘텐츠(CurrentSource)의 URI 및 탐색 대상 콘텐츠가 들어 있는 개체(Content)를 비롯한 탐색 대상 콘텐츠에 대한 정보를 제공합니다.

콘텐츠를 탐색하면 NavigationWindow에서 탐색 동작을 탐색 기록의 항목으로 기록합니다. Navigate 메서드를 호출하여 새로 탐색하거나 GoForward를 호출하여 전방 탐색 기록의 항목으로 이동하면 후방 탐색 기록에 항목이 추가됩니다. GoBack을 호출하여 후방 탐색 기록에 있는 항목으로 이동하면 전방 탐색 기록에 항목이 추가됩니다. CanGoBackCanGoForward는 각각 후방 및 전방 탐색 기록에 항목이 있는지 여부를 보고합니다.

서로 다른 콘텐츠 조각 사이에서 처음으로 탐색이 수행되면 NavigationWindow에서 사용자가 탐색 기록을 통해 앞뒤로 탐색하는 데 사용할 수 있는 탐색 UI가 자동으로 표시됩니다. ShowsNavigationUI 속성을 설정하면 탐색 UI가 표시되는 시점을 구성할 수 있습니다.

RemoveBackEntry를 호출하면 후방 탐색 기록의 가장 최근 항목을 제거할 수 있습니다.

NavigationWindow에는 탐색 기록의 콘텐츠 개체 인스턴스가 저장되지 않습니다. 대신 NavigationWindow는 탐색 기록을 사용하여 탐색할 때마다 콘텐츠 개체의 새 인스턴스를 만듭니다. 이 동작은 수량이 많은 대규모 콘텐츠를 탐색할 때 메모리가 과다하게 사용되지 않도록 하기 위한 것입니다. 따라서 탐색 간에 콘텐츠의 상태는 기억되지 않습니다. 그러나 WPF에서는 탐색 기록에서 콘텐츠의 상태를 저장할 수 있는 다음을 비롯한 몇 가지 방법을 제공합니다.

AddBackEntry를 사용하여 단일 페이지 인스턴스의 여러 상태 집합을 기억할 수도 있습니다. 자세한 내용은 페이지 인스턴스당 여러 상태 집합 기억을 참조하십시오.

NavigationWindow는 WPF의 두 탐색기 중 하나이며 다른 하나는 Frame입니다. 기본적으로 탐색기는 탐색과 탐색 기록을 지원하는 클래스입니다. 시각적으로 XBAP에서는 Internet Explorer 7을 탐색기로 사용하여 통합된 사용자 환경을 제공합니다. 그러나 실제로 XBAP에서는 NavigationWindow를 탐색기로 사용합니다. Internet Explorer 7에서 실행되는 XBAP의 MainWindow 속성은 NavigationWindow에 대한 참조를 반환하며 NavigationWindow에서 관리되는 탐색 기록은 Internet Explorer 7에서 관리되는 탐색 기록으로 통합됩니다.

콘텐츠 모델: NavigationWindowContentControl이므로 NavigationWindow에 텍스트, 이미지 또는 패널과 같은 콘텐츠가 포함될 수 있습니다. 또한 NavigationWindow는 루트 요소이므로 결과적으로 다른 요소 콘텐츠의 일부가 될 수 없습니다. Button의 콘텐츠 모델에 대한 자세한 내용은 콘텐츠 모델을 참조하십시오.

다음 예제에서는 NavigationWindow를 만드는 방법을 보여 줍니다.

<NavigationWindow 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Class="MainWindow"
    Title="NavigationWindow Sample"
    Source="http://www.microsoft.com" />


System.Object
  System.Windows.Threading.DispatcherObject
    System.Windows.DependencyObject
      System.Windows.Media.Visual
        System.Windows.UIElement
          System.Windows.FrameworkElement
            System.Windows.Controls.Control
              System.Windows.Controls.ContentControl
                System.Windows.Window
                  System.Windows.Navigation.NavigationWindow

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

Windows Vista

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

.NET Framework

3.5, 3.0에서 지원

커뮤니티 추가 항목

추가
Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2015 Microsoft