Język

JournalEntryUnifiedViewConverter Klasa

Definicja

JournalEntryUnifiedViewConverter Scala historię nawigacji wstecz i historię nawigacji do przodu (uwidocznione przez Frame lub NavigationWindow) w jednym menu nawigacji.

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
Dziedziczenie
JournalEntryUnifiedViewConverter
Implementuje

Przykłady

W poniższym przykładzie pokazano, jak utworzyć menu historii nawigacji opartej na tekście. W menu używane jest JournalEntryUnifiedViewConverter połączenie historii nawigacji wstecz i przesyłania dalej hostowanego Frame nawigatora.

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

Uwagi

Zarówno, jak Frame i NavigationWindow wyświetla chrome nawigacji, który obsługuje nawigację po historii przy użyciu następujących mechanizmów:

  • Przycisk umożliwiający przechodzenie z powrotem po jednej części zawartości naraz.

  • Przycisk umożliwiający przechodzenie do przodu po jednej części zawartości naraz.

  • Lista rozwijana zawierająca następujące informacje:

    • Połączona lista z maksymalnie dziewięcioma elementami w historii nawigacji wstecz i maksymalnie dziewięć elementów w historii nawigacji do przodu.
    • Pozycja bieżącego elementu zawartości w odniesieniu zarówno do historii nawigacji wstecz, jak i do przodu.

Historia nawigacji jest przechowywana zarówno przez, jak NavigationWindow i Frame w następujących właściwościach:

Historia nawigacji wstecznej: Frame.BackStack, NavigationWindow.BackStack.

Historia nawigacji do przodu: Frame.ForwardStack, NavigationWindow.ForwardStack.

Aby utworzyć listę NavigationWindow rozwijaną i Frame użyć JournalEntryUnifiedViewConverter polecenia , aby scalić ich indywidualną historię nawigacji wstecznej i przekazać historię nawigacji do jednej listy wpisów historii nawigacji. Wynikowa lista zawiera maksymalnie dziewięć wpisów z historii nawigacji wstecz i maksymalnie dziewięć wpisów z historii nawigacji do przodu oraz wpis dla bieżącej zawartości.

Jeśli tworzysz niestandardowy interfejs użytkownika nawigacji i musisz podać listę rozwijaną, możesz użyć jej JournalEntryUnifiedViewConverter do podobnego efektu.

Użycie atrybutu XAML

Ta klasa nie jest zwykle używana w języku XAML.

Konstruktory

Nazwa Opis
JournalEntryUnifiedViewConverter()

Inicjuje nowe wystąpienie klasy JournalEntryUnifiedViewConverter.

Pola

Nazwa Opis
JournalEntryPositionProperty

Identyfikuje dołączoną JournalEntryPosition właściwość.

Właściwości dołączone

Nazwa Opis
JournalEntryPosition

Pobiera lub ustawia wartość określającą, czy wpis znajduje się w historii nawigacji wstecz, historii nawigacji do przodu, czy jest bieżącą zawartością nawigatora.

Metody

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

Scala dwa stosy historii nawigacji.

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

Nie zaimplementowano.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetJournalEntryPosition(DependencyObject)

Pobiera dołączoną JournalEntryPosition właściwość dla określonego elementu.

GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Object.

(Odziedziczone po Object)
SetJournalEntryPosition(DependencyObject, JournalEntryPosition)

Ustawia dołączoną JournalEntryPositionProperty właściwość określonego elementu.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też