Udostępnij za pośrednictwem


JournalEntryUnifiedViewConverter Klasa

Definicja

JournalEntryUnifiedViewConverter scala historię nawigacji z powrotem i historię nawigacji do przodu (jak 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. Menu używa JournalEntryUnifiedViewConverter do łączenia historii nawigacji wstecz i przesyłania dalej nawigatora hostowanego 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>

Uwagi

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

  • Przycisk umożliwiający nawigowanie po jednej części zawartości jednocześnie.

  • Przycisk umożliwiający przechodzenie do przodu po jednym kawałku zawartości naraz.

  • Lista rozwijana, która pokazuje:

    • Połączona lista do dziewięciu elementów w historii nawigacji wstecz i do dziewięciu 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 wstecz: Frame.BackStack, NavigationWindow.BackStack.

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

Aby utworzyć listę rozwijaną i NavigationWindowFrame użyć JournalEntryUnifiedViewConverter do scalenia ich indywidualnej historii nawigacji wstecznej i przekazywania historii 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ć JournalEntryUnifiedViewConverter jej do podobnego efektu.

Użycie atrybutu języka XAML

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

Konstruktory

JournalEntryUnifiedViewConverter()

Inicjuje nowe wystąpienie klasy JournalEntryUnifiedViewConverter.

Pola

JournalEntryPositionProperty

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

Właściwości dołączone

JournalEntryPosition

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

Metody

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

Scala dwa stosy historii nawigacji.

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

Nie zaimplementowano.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

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

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

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

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