Compartilhar via


JournalEntryUnifiedViewConverter Classe

Definição

JournalEntryUnifiedViewConverter mescla o histórico de navegação e o histórico de navegação (conforme exposto por Frame ou NavigationWindow) em um ú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 a seguir mostra como construir um menu de histórico de navegação baseado em texto. O menu usa para combinar os históricos JournalEntryUnifiedViewConverter de navegação para trás e para 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>

Comentários

E FrameNavigationWindow exibem o cromado de navegação que dá suporte à navegação de histórico usando os seguintes mecanismos:

  • Um botão para navegar de volta uma parte do conteúdo de cada vez.

  • Um botão para navegar para frente em uma parte do conteúdo por vez.

  • Uma lista suspensa que mostra:

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

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

Histórico de navegação de volta: Frame.BackStack, NavigationWindow.BackStack.

Histórico de navegação de encaminhamento: Frame.ForwardStack, NavigationWindow.ForwardStack.

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

Se você criar uma interface do usuário de navegação personalizada e precisar fornecer uma lista suspensa, poderá usar para efeito JournalEntryUnifiedViewConverter semelhante.

Uso do Atributo XAML

Essa classe normalmente não é usada em XAML.

Construtores

JournalEntryUnifiedViewConverter()

Inicializa uma nova instância da classe JournalEntryUnifiedViewConverter.

Campos

JournalEntryPositionProperty

Identifica a propriedade JournalEntryPosition anexada.

Propriedades Anexadas

JournalEntryPosition

Obtém ou define um valor que especifica se uma entrada está no histórico de navegação anterior, no histórico de navegação posterior ou no conteúdo atual de um navegador.

Métodos

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

Mescla 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 a função de hash padrão.

(Herdado de Object)
GetJournalEntryPosition(DependencyObject)

Obtém a propriedade anexada JournalEntryPosition do elemento especificado.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
SetJournalEntryPosition(DependencyObject, JournalEntryPosition)

Define a propriedade anexada JournalEntryPositionProperty do elemento especificado.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também