JournalEntryUnifiedViewConverter Klasse

Definition

JournalEntryUnifiedViewConverter führt den Rückwärts- und Navigationsverlauf (wie verfügbar durch Frame oder NavigationWindow) 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 Sie ein textbasiertes Navigationsverlaufsmenü erstellen. Das Menü verwendet JournalEntryUnifiedViewConverter , um sowohl die Rückwärts- als auch die Vorwärtsnavigationshistorien 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 das FrameNavigationWindow Navigationschrom als auch das Anzeigen von Navigationschromen, das die Verlaufsnavigation mithilfe der folgenden Mechanismen unterstützt:

  • Eine Schaltfläche für die Rückwärtsnavigation um einen Teil von Inhalten gleichzeitig.

  • Eine Schaltfläche zum Navigieren in einem Teil von Inhalten gleichzeitig.

  • Eine Dropdownliste, die Folgendes anzeigt:

    • Eine kombinierte Liste von bis zu neun Elementen im Rückwärtsnavigationsverlauf und bis zu neun Elemente im Vorwärtsnavigationsverlauf.
    • Die Position des aktuellen Inhalts im Hinblick auf den Rückwärts- und Vorwärtsnavigationsverlauf.

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

Rückwärtsnavigationsverlauf: Frame.BackStack, NavigationWindow.BackStack.

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

Zum Erstellen der Dropdownliste NavigationWindow und Frame zum JournalEntryUnifiedViewConverter Zusammenführen der einzelnen Rückwärtsnavigationsverlaufs- und Vorwärtsnavigationsverlaufs in einer einzigen Liste von Navigationsverlaufseinträgen. Die resultierende Liste enthält bis zu neun Einträge aus dem Rückwärtsnavigationsverlauf 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 ähnliche Effekte verwenden JournalEntryUnifiedViewConverter .

Verwendung von XAML-Attributen

Diese Klasse wird in der Regel nicht in XAML verwendet.

Konstruktoren

Name Beschreibung
JournalEntryUnifiedViewConverter()

Initialisiert eine neue Instanz der JournalEntryUnifiedViewConverter-Klasse.

Felder

Name Beschreibung
JournalEntryPositionProperty

Identifies the JournalEntryPosition attached property.

Angefügte Eigenschaften

Name Beschreibung
JournalEntryPosition

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob sich ein Eintrag im Rückwärtsnavigationsverlauf, im Vorwärtsnavigationsverlauf oder im aktuellen Inhalt eines Navigators befindet.

Methoden

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

Führt zwei Navigationsverlaufsstapel zusammen.

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

Nicht implementiert.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetJournalEntryPosition(DependencyObject)

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

GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
SetJournalEntryPosition(DependencyObject, JournalEntryPosition)

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

ToString()

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

(Geerbt von Object)

Gilt für:

Weitere Informationen