Aracılığıyla paylaş


JournalEntryUnifiedViewConverter Sınıf

Tanım

JournalEntryUnifiedViewConvertergezinti geri geçmişi ve gezinti iletme geçmişini (veya NavigationWindowtarafından Frame gösterildiği gibi) tek bir gezinti menüsünde birleştirir.

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
Devralma
JournalEntryUnifiedViewConverter
Uygulamalar

Örnekler

Aşağıdaki örnekte, metin tabanlı gezinti geçmişi menüsünün nasıl yapılandırdığı gösterilmektedir. Menü, barındırılan Frame gezginin hem geri hem de ileri gezinti geçmişlerini birleştirmek için kullanılırJournalEntryUnifiedViewConverter.

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

Açıklamalar

NavigationWindow Hem hem de Frame aşağıdaki mekanizmaları kullanarak geçmiş gezintisini destekleyen gezinti chrome'unu görüntüleyin:

  • Bir kerede bir içerik parçasına geri dönmek için bir düğme.

  • Bir kerede bir içerik parçası ileriye doğru gezinmeye yönelik bir düğme.

  • Şunları gösteren bir açılan liste:

    • Arka gezinti geçmişinde en fazla dokuz öğe ve ileriye doğru gezinti geçmişinde en fazla dokuz öğenin birleştirilmiş listesi.
    • Geçerli içerik parçasının hem geri hem de ileri gezinti geçmişine göre konumu.

Gezinti geçmişi hem hem de NavigationWindowFrame aşağıdaki özelliklerde depolanır:

Geri Gezinti Geçmişi: Frame.BackStack, NavigationWindow.BackStack.

İleriye Doğru Gezinti Geçmişi: Frame.ForwardStack, NavigationWindow.ForwardStack.

Açılan listeyi NavigationWindow oluşturmak ve Frame öğesini kullanarak JournalEntryUnifiedViewConverter tek tek geri gezinti geçmişini birleştirin ve gezinti geçmişini tek bir gezinti geçmişi girdileri listesiyle iletin. Sonuçta elde edilen liste, arka gezinti geçmişinden en fazla dokuz girdi ve ileriye doğru gezinti geçmişinden en fazla dokuz girdi ve geçerli içerik için bir giriş içerir.

Özel gezinti kullanıcı arabirimi oluşturuyorsanız ve bir açılan liste sağlamanız gerekiyorsa, benzer etkiyi kullanabilirsiniz JournalEntryUnifiedViewConverter .

XAML Öznitelik Kullanımı

Bu sınıf genellikle XAML'de kullanılmaz.

Oluşturucular

JournalEntryUnifiedViewConverter()

JournalEntryUnifiedViewConverter sınıfının yeni bir örneğini başlatır.

Alanlar

JournalEntryPositionProperty

JournalEntryPosition Ekli özelliği tanımlar.

İliştirilmiş Özellikler

JournalEntryPosition

Girdinin geri gezinti geçmişinde mi, ileriye doğru gezinti geçmişinde mi yoksa bir gezgindeki geçerli içerikte mi olduğunu belirten bir değer alır veya ayarlar.

Yöntemler

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

İki gezinti geçmişi yığınını birleştirir.

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

Uygulanmaz.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetJournalEntryPosition(DependencyObject)

JournalEntryPosition Belirtilen öğe için ekli özelliği alır.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
SetJournalEntryPosition(DependencyObject, JournalEntryPosition)

JournalEntryPositionProperty Belirtilen öğenin ekli özelliğini ayarlar.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.