JournalEntryUnifiedViewConverter Třída

Definice

JournalEntryUnifiedViewConverter sloučí historii navigačního pozadí a historii předávání navigace (jak je vystaveno Frame nebo NavigationWindow) do jedné navigační nabídky.

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
Dědičnost
JournalEntryUnifiedViewConverter
Implementuje

Příklady

Následující příklad ukazuje, jak vytvořit nabídku historie navigace na základě textu. Nabídka slouží JournalEntryUnifiedViewConverter ke kombinování historie navigace zpět i vpřed hostovaného Frame navigátoru.

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

Poznámky

Frame Prohlížeč i NavigationWindow prohlížeč navigace, který podporuje navigaci historie pomocí následujících mechanismů:

  • Tlačítko pro procházení jedné části obsahu najednou.

  • Tlačítko pro přecházení vpřed o jeden obsah najednou.

  • Rozevírací seznam, který ukazuje:

    • Kombinovaný seznam až devět položek v historii navigace a až devět položek v historii navigace vpřed.
    • Pozice aktuální části obsahu s ohledem na historii navigace vzadu i vpřed.

Historie navigace je uložena NavigationWindow oběma a Frame v následujících vlastnostech:

Historie navigace zpět: Frame.BackStack, NavigationWindow.BackStack.

Historie navigace vpřed: Frame.ForwardStack, NavigationWindow.ForwardStack.

Chcete-li vytvořit rozevírací seznam NavigationWindow a Frame použít JournalEntryUnifiedViewConverter ke sloučení jejich jednotlivé historie zpětné navigace a přeposlat historii navigace do jednoho seznamu položek historie navigace. Výsledný seznam obsahuje až devět položek z historie zpětné navigace a až devět položek z historie navigace vpřed a položku pro aktuální obsah.

Pokud vytváříte vlastní navigační uživatelské rozhraní a potřebujete zadat rozevírací seznam, můžete použít JournalEntryUnifiedViewConverter podobný efekt.

Použití atributu XAML

Tato třída se obvykle nepoužívá v jazyce XAML.

Konstruktory

Name Description
JournalEntryUnifiedViewConverter()

Inicializuje novou instanci JournalEntryUnifiedViewConverter třídy.

Pole

Name Description
JournalEntryPositionProperty

Identifikuje připojenou JournalEntryPosition vlastnost.

Přidružené vlastnosti

Name Description
JournalEntryPosition

Získá nebo nastaví hodnotu, která určuje, zda je položka v historii navigace zpět, historie navigace vpřed nebo je aktuální obsah navigátoru.

Metody

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

Sloučí dva zásobníky historie navigace.

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

Není implementováno.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetJournalEntryPosition(DependencyObject)

Získá připojenou JournalEntryPosition vlastnost pro zadaný prvek.

GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
SetJournalEntryPosition(DependencyObject, JournalEntryPosition)

Nastaví připojenou JournalEntryPositionProperty vlastnost zadaného prvku.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také