Compartir vía


JournalEntryUnifiedViewConverter Clase

Definición

JournalEntryUnifiedViewConverter combina el historial de navegación hacia atrás y el historial de navegación hacia delante (como se expone por 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ú de 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 como FrameNavigationWindow el cromo de navegación para mostrar que admite la navegación del historial mediante los siguientes mecanismos:

  • Un botón para navegar por un fragmento 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 posterior y hasta nueve elementos en el historial de navegación hacia delante.
    • Posición del elemento de contenido actual con respecto al historial de navegación hacia atrás y hacia delante.

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

Historial de navegación hacia atrás: 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 posterior 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

JournalEntryUnifiedViewConverter()

Inicializa una nueva instancia de la clase JournalEntryUnifiedViewConverter.

Campos

JournalEntryPositionProperty

Identifica la propiedad adjunta JournalEntryPosition.

Propiedades adjuntas

JournalEntryPosition

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

Métodos

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

Combina dos pilas del historial de navegación.

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

Sin implementar.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetJournalEntryPosition(DependencyObject)

Obtiene la propiedad adjunta JournalEntryPosition del elemento especificado.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
SetJournalEntryPosition(DependencyObject, JournalEntryPosition)

Establece el valor de la propiedad adjunta JournalEntryPositionProperty del elemento especificado.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también