JournalEntryUnifiedViewConverter Classe

Definizione

JournalEntryUnifiedViewConverter unisce la cronologia di spostamento indietro e la cronologia di spostamento avanti (come esposto da Frame o NavigationWindow) in un unico menu di spostamento.

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
Ereditarietà
JournalEntryUnifiedViewConverter
Implementazioni

Esempio

Nell'esempio seguente viene illustrato come costruire un menu della cronologia di spostamento basato su testo. Il menu usa JournalEntryUnifiedViewConverter per combinare sia le cronologie di spostamento indietro che in avanti dello strumento di spostamento ospitato 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>

Commenti

Frame Sia NavigationWindow che visualizzano il riquadro di spostamento che supporta la navigazione cronologia usando i meccanismi seguenti:

  • Pulsante per lo spostamento indietro di una parte del contenuto alla volta.

  • Pulsante per spostarsi in avanti di una parte del contenuto alla volta.

  • Elenco a discesa che mostra:

    • Elenco combinato di un massimo di nove elementi nella cronologia di spostamento indietro e fino a nove elementi nella cronologia di spostamento in avanti.
    • Posizione del contenuto corrente rispetto alla cronologia di navigazione avanti e indietro.

La cronologia di navigazione viene archiviata da e NavigationWindowFrame nelle proprietà seguenti:

Cronologia navigazione indietro: Frame.BackStack, NavigationWindow.BackStack.

Cronologia di navigazione inoltrata: Frame.ForwardStack, NavigationWindow.ForwardStack.

Per creare l'elenco NavigationWindow a discesa e Frame usare JournalEntryUnifiedViewConverter per unire la cronologia di spostamento indietro e la cronologia di spostamento in avanti in un unico elenco di voci della cronologia di navigazione. L'elenco risultante contiene fino a nove voci dalla cronologia di spostamento indietro e fino a nove voci dalla cronologia di spostamento in avanti, oltre a una voce per il contenuto corrente.

Se si crea un'interfaccia utente di spostamento personalizzata e si deve fornire un elenco a discesa, è possibile usare JournalEntryUnifiedViewConverter per un effetto simile.

Utilizzo degli attributi XAML

Questa classe non viene in genere usata in XAML.

Costruttori

Nome Descrizione
JournalEntryUnifiedViewConverter()

Inizializza una nuova istanza della classe JournalEntryUnifiedViewConverter.

Campi

Nome Descrizione
JournalEntryPositionProperty

Identifica la JournalEntryPosition proprietà associata.

Proprietà associate

Nome Descrizione
JournalEntryPosition

Ottiene o imposta un valore che specifica se una voce si trova nella cronologia di spostamento indietro, nella cronologia di navigazione in avanti o nel contenuto corrente di uno strumento di navigazione.

Metodi

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

Unisce due stack di cronologia di navigazione.

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

Non implementata.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetJournalEntryPosition(DependencyObject)

Ottiene la JournalEntryPosition proprietà associata per l'elemento specificato.

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
SetJournalEntryPosition(DependencyObject, JournalEntryPosition)

Imposta la JournalEntryPositionProperty proprietà associata dell'elemento specificato.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche