Condividi tramite


JournalEntryUnifiedViewConverter Classe

Definizione

JournalEntryUnifiedViewConverter unisce la cronologia di spostamento indietro e la cronologia di inoltro dello spostamento (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 cronologia di spostamento basato su testo. Il menu usa JournalEntryUnifiedViewConverter per combinare le cronologie di navigazione indietro e avanti del navigatore 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

Entrambi Frame i NavigationWindow chrome di spostamento visualizzati che supportano lo spostamento della cronologia usando i meccanismi seguenti:

  • Pulsante per lo spostamento indietro di un pezzo di contenuto alla volta.

  • Pulsante per spostarsi in avanti un pezzo di contenuto alla volta.

  • Elenco a discesa che mostra:

    • Elenco combinato di fino a 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 spostamento indietro e avanti.

La cronologia di spostamento viene archiviata sia dalle NavigationWindowFrame proprietà seguenti:

Cronologia di spostamento indietro: Frame.BackStack, NavigationWindow.BackStack.

Cronologia di spostamento in avanti: Frame.ForwardStack, NavigationWindow.ForwardStack.

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

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

Uso della sintassi XAML per gli attributi

Questa classe non viene in genere usata in XAML.

Costruttori

JournalEntryUnifiedViewConverter()

Inizializza una nuova istanza della classe JournalEntryUnifiedViewConverter.

Campi

JournalEntryPositionProperty

Identifica la proprietà associata JournalEntryPosition.

Proprietà associate

JournalEntryPosition

Ottiene o imposta un valore che specifica se una voce si trova nella cronologia di navigazione indietro o nella cronologia di navigazione avanti oppure se corrisponde al contenuto corrente di uno strumento di navigazione.

Metodi

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

Unisce due stack della cronologia di navigazione.

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

Non implementato.

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 proprietà associata JournalEntryPosition per l'elemento specificato.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
SetJournalEntryPosition(DependencyObject, JournalEntryPosition)

Imposta la proprietà associata JournalEntryPositionProperty dell'elemento specificato.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche