Share via


JournalEntryUnifiedViewConverter Classe

Définition

JournalEntryUnifiedViewConverter fusionne l’historique de navigation arrière et l’historique de navigation avant (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 textuel. 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

Et affichent Frame le NavigationWindow chrome de navigation qui prend en charge la navigation dans l’historique à l’aide des mécanismes suivants :

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

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

  • Liste déroulante qui affiche :

    • Liste combinée de neuf éléments maximum 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é par NavigationWindow et Frame dans les propriétés suivantes :

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

Historique de navigation vers l’avant : Frame.ForwardStack, NavigationWindow.ForwardStack.

Pour créer la liste déroulante, NavigationWindow utilisez FrameJournalEntryUnifiedViewConverter pour fusionner leur historique de navigation vers l’arrière et l’historique de navigation avant dans une liste unique d’entrées d’historique de navigation. La liste résultante contient jusqu’à neuf entrées de l’historique de navigation arrière et jusqu’à neuf entrées de l’historique de navigation vers l’avant, plus 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 utiliser JournalEntryUnifiedViewConverter un effet similaire.

Utilisation d'attributs XAML

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

Constructeurs

JournalEntryUnifiedViewConverter()

Initialise une nouvelle instance de la classe JournalEntryUnifiedViewConverter.

Champs

JournalEntryPositionProperty

Identifie la propriété jointe JournalEntryPosition.

Propriétés attachées

JournalEntryPosition

Obtient ou définit une valeur qui spécifie si une entrée se trouve dans l'historique de navigation arrière ou avant ou s'il s'agit du contenu actuel d'un navigateur.

Méthodes

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

Fusionne deux piles d'historiques 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()

Fait office de fonction de hachage par défaut.

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

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

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

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

Définit la propriété jointe JournalEntryPositionProperty 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