JournalEntryUnifiedViewConverter Classe

Definição

JournalEntryUnifiedViewConverter Funde o histórico de navegação para trás e o histórico de navegação para trás (conforme exposto por Frame ou NavigationWindow) num único menu de navegação.

public ref class JournalEntryUnifiedViewConverter sealed : System::Windows::Data::IMultiValueConverter
public sealed class JournalEntryUnifiedViewConverter : System.Windows.Data.IMultiValueConverter
type JournalEntryUnifiedViewConverter = class
    interface IMultiValueConverter
Public NotInheritable Class JournalEntryUnifiedViewConverter
Implements IMultiValueConverter
Herança
JournalEntryUnifiedViewConverter
Implementações

Exemplos

O exemplo seguinte mostra como construir um menu de histórico de navegação baseado em texto. O menu serve JournalEntryUnifiedViewConverter para combinar os históricos de navegação para trás e para a frente do navegador hospedado Frame .

<Window 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:presentationFramework="clr-namespace:System.Windows.Navigation;assembly=presentationframework"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="JournalEntryUnifiedPositionConverterSnippets"
    >

    <Window.Resources>

        <presentationFramework:JournalEntryUnifiedViewConverter x:Key="JournalEntryUnifiedViewConverter" />

        <!--MenuItem data template-->
        <DataTemplate x:Key="JournalEntryMenuItemTemplate">
            <MenuItem VerticalContentAlignment="Center" Command="NavigationCommands.NavigateJournal" CommandTarget="{Binding ElementName=frame}" CommandParameter="{Binding RelativeSource={RelativeSource Self}}">
                <MenuItem.Template>
                    <ControlTemplate>
                        <TextBlock>
                            <TextBlock Text="{Binding (JournalEntryUnifiedViewConverter.JournalEntryPosition)}" FontWeight="Bold"></TextBlock>
                            <LineBreak />
                            <TextBlock Text="{Binding Path=Name}" />
                        </TextBlock>
                    </ControlTemplate>
                </MenuItem.Template>
            </MenuItem>
        </DataTemplate>

    </Window.Resources>

    <DockPanel>

        <!--Unified navigation history menu-->
        <Menu DockPanel.Dock="Top">
            <MenuItem Header="Unified Navigation History" ItemTemplate="{DynamicResource JournalEntryMenuItemTemplate}">
                <MenuItem.ItemsSource>
                    <MultiBinding Converter="{StaticResource JournalEntryUnifiedViewConverter}">
                        <MultiBinding.Bindings>
                            <Binding ElementName="frame" Path="BackStack"/>
                            <Binding ElementName="frame" Path="ForwardStack" />
                        </MultiBinding.Bindings>
                    </MultiBinding>
                </MenuItem.ItemsSource>
            </MenuItem>
        </Menu>

        <!--Navigator (Frame with its navigation chrome hidden-->
        <Frame Name="frame" NavigationUIVisibility="Hidden" Source="HomePage.xaml" />

    </DockPanel>
    
</Window>

Observações

Ambos Frame e NavigationWindow o Chrome de navegação de exibição que suporta navegação de histórico usando os seguintes mecanismos:

  • Um botão para navegar um conteúdo de cada vez.

  • Um botão para avançar um conteúdo de cada vez.

  • Uma lista suspensa que mostra:

    • Uma lista combinada de até nove itens no histórico de navegação para trás e até nove itens no histórico de navegação para trás.
    • A posição do conteúdo atual relativamente ao histórico de navegação para trás e para a frente.

O histórico de navegação é armazenado tanto NavigationWindow por como Frame nas seguintes propriedades:

Histórico de Navegação Anterior: Frame.BackStack, NavigationWindow.BackStack.

Histórico de Navegação Avançada: Frame.ForwardStack, NavigationWindow.ForwardStack.

Para criar a lista suspensa NavigationWindow e Frame usar JournalEntryUnifiedViewConverter para fundir o seu histórico individual de navegação atrás e de navegação para frente numa única lista de entradas do histórico de navegação. A lista resultante contém até nove entradas do histórico de navegação retrocedente e até nove entradas do histórico de navegação anterior, além de uma entrada para o conteúdo atual.

Se criares uma interface de navegação personalizada e precisares de fornecer uma lista suspensa, podes usar JournalEntryUnifiedViewConverter com efeito semelhante.

Uso de atributos XAML

Esta classe não é normalmente usada em XAML.

Construtores

Name Description
JournalEntryUnifiedViewConverter()

Inicializa uma nova instância da JournalEntryUnifiedViewConverter classe.

Campos

Name Description
JournalEntryPositionProperty

Identifica a JournalEntryPosition propriedade anexada.

Propriedades Anexadas

Name Description
JournalEntryPosition

Recebe ou define um valor que especifica se uma entrada está no histórico de navegação retroativa, histórico de navegação para a frente, ou é o conteúdo atual de um navegador.

Métodos

Name Description
Convert(Object[], Type, Object, CultureInfo)

Funde duas pilhas de histórico de navegação.

ConvertBack(Object, Type[], Object, CultureInfo)

Não implementado.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetJournalEntryPosition(DependencyObject)

Obtém a JournalEntryPosition propriedade associada para o elemento especificado.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
SetJournalEntryPosition(DependencyObject, JournalEntryPosition)

Define a JournalEntryPositionProperty propriedade associada do elemento especificado.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Ver também