Sdílet prostřednictvím


JournalEntryUnifiedViewConverter Třída

Definice

JournalEntryUnifiedViewConverter sloučí historii zpětnavigací a historii navigace (tak, jak je vystaveno nebo FrameNavigationWindow) 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 založené na textu. Nabídka se používá JournalEntryUnifiedViewConverter ke kombinování historie navigace zpět a dopř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

Navigační Frame chrom i NavigationWindow zobrazte, který podporuje navigaci v historii pomocí následujících mechanismů:

  • Tlačítko pro navigaci zpět o jednu část obsahu najednou.

  • Tlačítko pro přechod dopředu o jednu část obsahu najednou.

  • Rozevírací seznam, který zobrazuje:

    • Kombinovaný seznam až devíti položek v historii zpětné navigace a až devíti položek v historii navigace.
    • Umístění aktuální části obsahu s ohledem na historii zpětné i dopředné navigace.

Historie navigace je uložena v následujících vlastnostech a NavigationWindowFrame v těchto vlastnostech:

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

Dopředná historie navigace: Frame.ForwardStack, NavigationWindow.ForwardStack.

Pokud chcete vytvořit rozevírací seznam NavigationWindow a Frame sloučit JournalEntryUnifiedViewConverter jednotlivé historie zpětné navigace a 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 dopředné navigace a položku pro aktuální obsah.

Pokud vytvoří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 XAML.

Konstruktory

JournalEntryUnifiedViewConverter()

Inicializuje novou instanci JournalEntryUnifiedViewConverter třídy.

Pole

JournalEntryPositionProperty

Identifikuje připojenou JournalEntryPosition vlastnost.

Přidružené vlastnosti

JournalEntryPosition

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

Metody

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

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

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

Není implementováno.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

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

Slouží jako výchozí hashovací funkce.

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

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

GetType()

Získá aktuální Type instanci.

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

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

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

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

ToString()

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

(Zděděno od Object)

Platí pro

Viz také