Langue

JournalEntryUnifiedViewConverter Classe

Définition

JournalEntryUnifiedViewConverter fusionne l’historique de navigation et l’historique avant de navigation (tel qu’exposé par Frame ou NavigationWindow) dans un menu de navigation unique.

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
Héritage
JournalEntryUnifiedViewConverter
Implémente

Exemples

L’exemple suivant montre comment construire un menu d’historique de navigation basé sur du texte. Le menu utilise JournalEntryUnifiedViewConverter pour combiner les historiques de navigation arrière et avant du navigateur hébergé 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>

Remarques

À la fois Frame et NavigationWindow afficher le chrome de navigation qui prend en charge la navigation dans l’historique à l’aide des mécanismes suivants :

  • Bouton permettant de parcourir un élément de contenu à la fois.

  • Bouton permettant de naviguer vers l’avant un élément de contenu à la fois.

  • Liste déroulante qui affiche :

    • Liste combinée d’un maximum de neuf éléments dans l’historique de navigation arrière et jusqu’à neuf éléments dans l’historique de navigation avant.
    • Position du contenu actuel par rapport à l’historique de navigation arrière et avant.

L’historique de navigation est stocké à la fois NavigationWindow et Frame dans les propriétés suivantes :

Historique de navigation arrière : Frame.BackStack, NavigationWindow.BackStack.

Historique de navigation avant : Frame.ForwardStack, NavigationWindow.ForwardStack.

Pour créer la liste déroulante et NavigationWindowFrame l’utiliser JournalEntryUnifiedViewConverter pour fusionner l’historique de navigation précédent individuel et l’historique de navigation vers l’avant en une seule liste d’entrées d’historique de navigation. La liste obtenue contient jusqu’à neuf entrées de l’historique de navigation arrière et jusqu’à neuf entrées de l’historique de navigation avant, ainsi qu’une entrée pour le contenu actuel.

Si vous créez une interface utilisateur de navigation personnalisée et que vous devez fournir une liste déroulante, vous pouvez l’utiliser JournalEntryUnifiedViewConverter pour obtenir un effet similaire.

Utilisation des attributs XAML

Cette classe n’est généralement pas utilisée en XAML.

Constructeurs

Nom Description
JournalEntryUnifiedViewConverter()

Initialise une nouvelle instance de la classe JournalEntryUnifiedViewConverter.

Champs

Nom Description
JournalEntryPositionProperty

Identifie la JournalEntryPosition propriété jointe.

Propriétés attachées

Nom Description
JournalEntryPosition

Obtient ou définit une valeur qui spécifie si une entrée se trouve dans l’historique de navigation arrière, l’historique de navigation avant ou le contenu actuel d’un navigateur.

Méthodes

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

Fusionne deux piles d’historique de navigation.

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

Non implémenté.

Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetJournalEntryPosition(DependencyObject)

Obtient la JournalEntryPosition propriété jointe de l’élément spécifié.

GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
SetJournalEntryPosition(DependencyObject, JournalEntryPosition)

Définit la JournalEntryPositionProperty propriété jointe de l’élément spécifié.

ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)

S’applique à

Voir aussi