JournalEntryUnifiedViewConverter Klasse

Definition

JournalEntryUnifiedViewConverter Führt den Navigationsverlauf zurück und den Navigationsverlauf vorwärts (wie von Frame oder NavigationWindowverfügbar gemacht) in einem einzelnen Navigationsmenü zusammen.

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
Vererbung
JournalEntryUnifiedViewConverter
Implementiert

Beispiele

Das folgende Beispiel zeigt, wie ein textbasiertes Navigationsverlaufsmenü erstellt wird. Das Menü verwendet JournalEntryUnifiedViewConverter , um sowohl den Zurück- als auch den Vorwärtsnavigationsverlauf des gehosteten Frame Navigators zu kombinieren.

<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>

Hinweise

Sowohl als NavigationWindow auch Frame zeigen Navigationschrom an, das die Verlaufsnavigation mithilfe der folgenden Mechanismen unterstützt:

  • Eine Schaltfläche zum Navigieren nacheinander in einem Teil des Inhalts.

  • Eine Schaltfläche, mit der Sie jeweils einen Teil des Inhalts vorwärts navigieren können.

  • Eine Dropdownliste, in der Folgendes angezeigt wird:

    • Eine kombinierte Liste von bis zu neun Elementen im Verlauf der Rücknavigation und bis zu neun Elementen im Vorwärtsnavigationsverlauf.
    • Die Position des aktuellen Inhaltsabschnitts in Bezug auf den Zurück- und Vorwärtsnavigationsverlauf.

Der Navigationsverlauf wird sowohl von als auch NavigationWindowFrame in den folgenden Eigenschaften gespeichert:

Zurücknavigationsverlauf: Frame.BackStack, NavigationWindow.BackStack.

Vorwärtsnavigationsverlauf: Frame.ForwardStack, NavigationWindow.ForwardStack.

Um die Dropdownliste zu erstellen, und Frame verwenden Sie JournalEntryUnifiedViewConverter , NavigationWindow um ihren individuellen Rücknavigationsverlauf zusammenzuführen und den Navigationsverlauf in einer einzelnen Liste von Navigationsverlaufseinträgen weiterzuleiten. Die resultierende Liste enthält bis zu neun Einträge aus dem Verlauf der Zurücknavigation und bis zu neun Einträge aus dem Vorwärtsnavigationsverlauf sowie einen Eintrag für den aktuellen Inhalt.

Wenn Sie eine benutzerdefinierte Navigationsbenutzeroberfläche erstellen und eine Dropdownliste bereitstellen müssen, können Sie mit ähnlichem Effekt verwenden JournalEntryUnifiedViewConverter .

Verwendung von XAML-Attributen

Diese Klasse wird in der Regel nicht in XAML verwendet.

Konstruktoren

JournalEntryUnifiedViewConverter()

Initialisiert eine neue Instanz der JournalEntryUnifiedViewConverter-Klasse.

Felder

JournalEntryPositionProperty

Bezeichnet die angefügte JournalEntryPosition-Eigenschaft.

Angefügte Eigenschaften

JournalEntryPosition

Ruft einen Wert ab, der angibt, ob sich ein Eintrag im Navigationsverlauf zurück oder im Navigationsverlauf vor befindet oder ob es sich um den aktuellen Inhalt eines Navigators handelt.

Methoden

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

Führt zwei Navigationsverlaufsstapel zusammen.

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

Nicht implementiert.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetJournalEntryPosition(DependencyObject)

Ruft die angefügte JournalEntryPosition-Eigenschaft für das angegebene Element ab.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
SetJournalEntryPosition(DependencyObject, JournalEntryPosition)

Legt die angefügte JournalEntryPositionProperty-Eigenschaft des angegebenen Elements fest.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Weitere Informationen