Taal

JournalEntryUnifiedViewConverter Klas

Definitie

JournalEntryUnifiedViewConverter Hiermee worden de geschiedenis van de navigatieachtergrond en de geschiedenis van de navigatie forward (zoals weergegeven door Frame of NavigationWindow) samengevoegd in één navigatiemenu.

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
Overname
JournalEntryUnifiedViewConverter
Implementeringen

Voorbeelden

In het volgende voorbeeld ziet u hoe u een navigatiegeschiedenismenu op basis van tekst maakt. Het menu gebruikt JournalEntryUnifiedViewConverter voor het combineren van zowel de geschiedenis van de back- als forwardnavigatie van de gehoste Frame navigator.

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

Opmerkingen

Frame Zowel NavigationWindow als het weergeven van navigatie chromen die ondersteuning biedt voor geschiedenisnavigatie met behulp van de volgende mechanismen:

  • Een knop om één stukje inhoud tegelijk terug te navigeren.

  • Een knop voor het doorsturen van één stukje inhoud tegelijk.

  • Een vervolgkeuzelijst met:

    • Een gecombineerde lijst van maximaal negen items in de navigatiegeschiedenis van de back-up en maximaal negen items in de vooruitnavigatiegeschiedenis.
    • De positie van het huidige deel van de inhoud met betrekking tot zowel back- als forwardnavigatiegeschiedenis.

De navigatiegeschiedenis wordt opgeslagen door zowel NavigationWindow als Frame in de volgende eigenschappen:

Back Navigation History: Frame.BackStack, NavigationWindow.BackStack.

Navigatiegeschiedenis doorsturen: Frame.ForwardStack, NavigationWindow.ForwardStack.

Als u de vervolgkeuzelijst NavigationWindow wilt maken en Frame deze wilt gebruiken JournalEntryUnifiedViewConverter om de afzonderlijke navigatiegeschiedenis en navigatiegeschiedenis door te sturen naar één lijst met vermeldingen in de navigatiegeschiedenis. De resulterende lijst bevat maximaal negen vermeldingen uit de backnavigatiegeschiedenis en maximaal negen vermeldingen uit de navigatiegeschiedenis, plus een vermelding voor de huidige inhoud.

Als u een aangepaste navigatiegebruikersinterface maakt en een vervolgkeuzelijst moet opgeven, kunt u dit op een vergelijkbaar effect toepassen JournalEntryUnifiedViewConverter .

XAML-kenmerkgebruik

Deze klasse wordt doorgaans niet gebruikt in XAML.

Constructors

Name Description
JournalEntryUnifiedViewConverter()

Initialiseert een nieuw exemplaar van de JournalEntryUnifiedViewConverter klasse.

Velden

Name Description
JournalEntryPositionProperty

Identificeert de JournalEntryPosition gekoppelde eigenschap.

Toegevoegde eigenschappen

Name Description
JournalEntryPosition

Hiermee wordt een waarde opgehaald of ingesteld waarmee wordt aangegeven of een vermelding zich in de backnavigatiegeschiedenis bevindt, de navigatiegeschiedenis doorsturen of de huidige inhoud van een navigator is.

Methoden

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

Hiermee worden twee navigatiegeschiedenisstacks samengevoegd.

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

Niet geïmplementeerd.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetJournalEntryPosition(DependencyObject)

Hiermee haalt u de JournalEntryPosition gekoppelde eigenschap voor het opgegeven element op.

GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
SetJournalEntryPosition(DependencyObject, JournalEntryPosition)

Hiermee stelt u de JournalEntryPositionProperty gekoppelde eigenschap van het opgegeven element in.

ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op

Zie ook