JournalEntryUnifiedViewConverter Clase

Definición

JournalEntryUnifiedViewConverter combina el historial de navegación hacia atrás y el historial de navegación hacia delante (tal como lo expone Frame o NavigationWindow) en un único menú de navegación.

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
Herencia
JournalEntryUnifiedViewConverter
Implementaciones

Ejemplos

En el ejemplo siguiente se muestra cómo construir un menú del historial de navegación basado en texto. El menú usa JournalEntryUnifiedViewConverter para combinar los historiales de navegación hacia atrás y hacia delante del 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>

Comentarios

Tanto Frame como NavigationWindow el cromo de navegación para mostrar que admite la navegación por el historial mediante los siguientes mecanismos:

  • Un botón para navegar por una parte de contenido a la vez.

  • Un botón para navegar hacia delante un fragmento de contenido a la vez.

  • Lista desplegable que muestra:

    • Una lista combinada de hasta nueve elementos en el historial de navegación hacia atrás y hasta nueve elementos en el historial de navegación hacia delante.
    • Posición del contenido actual con respecto al historial de navegación hacia atrás y hacia delante.

Tanto como NavigationWindowFrame en las siguientes propiedades almacenan el historial de navegación:

Historial de navegación inversa: Frame.BackStack, NavigationWindow.BackStack.

Historial de navegación hacia delante: Frame.ForwardStack, NavigationWindow.ForwardStack.

Para crear la lista NavigationWindow desplegable y Frame usar JournalEntryUnifiedViewConverter para combinar su historial de navegación hacia atrás individual y reenviar el historial de navegación en una sola lista de entradas del historial de navegación. La lista resultante contiene hasta nueve entradas del historial de navegación hacia atrás y hasta nueve entradas del historial de navegación hacia delante, además de una entrada para el contenido actual.

Si crea una interfaz de usuario de navegación personalizada y necesita proporcionar una lista desplegable, puede usar JournalEntryUnifiedViewConverter para un efecto similar.

Uso de atributos XAML

Esta clase no se usa normalmente en XAML.

Constructores

Nombre Description
JournalEntryUnifiedViewConverter()

Inicializa una nueva instancia de la clase JournalEntryUnifiedViewConverter.

Campos

Nombre Description
JournalEntryPositionProperty

Identifica la JournalEntryPosition propiedad adjunta.

Propiedades adjuntas

Nombre Description
JournalEntryPosition

Obtiene o establece un valor que especifica si una entrada está en el historial de navegación posterior, el historial de navegación hacia delante o es el contenido actual de un navegador.

Métodos

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

Combina dos pilas de historial de navegación.

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

Sin implementar.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetJournalEntryPosition(DependencyObject)

Obtiene la JournalEntryPosition propiedad adjunta del elemento especificado.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
SetJournalEntryPosition(DependencyObject, JournalEntryPosition)

Establece la JournalEntryPositionProperty propiedad adjunta del elemento especificado.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también