Share via


JournalEntryUnifiedViewConverter Kelas

Definisi

JournalEntryUnifiedViewConverter menggabungkan riwayat navigasi kembali dan riwayat penerusan navigasi (seperti yang diekspos oleh Frame atau NavigationWindow) ke dalam satu menu navigasi.

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
Warisan
JournalEntryUnifiedViewConverter
Penerapan

Contoh

Contoh berikut menunjukkan cara membuat menu riwayat navigasi berbasis teks. Menu menggunakan JournalEntryUnifiedViewConverter untuk menggabungkan riwayat navigasi belakang dan depan dari navigator yang dihosting 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>

Keterangan

Baik Frame dan NavigationWindow chrome navigasi tampilan yang mendukung navigasi riwayat menggunakan mekanisme berikut:

  • Tombol untuk menavigasi kembali satu bagian konten pada satu waktu.

  • Tombol untuk menavigasi maju satu bagian konten pada satu waktu.

  • Daftar drop-down yang memperlihatkan:

    • Daftar gabungan hingga sembilan item dalam riwayat navigasi belakang dan hingga sembilan item dalam riwayat navigasi maju.
    • Posisi bagian konten saat ini sehubungan dengan riwayat navigasi kembali dan maju.

Riwayat navigasi disimpan oleh dan NavigationWindowFrame di properti berikut:

Riwayat Navigasi Belakang: Frame.BackStack, NavigationWindow.BackStack.

Teruskan Riwayat Navigasi: Frame.ForwardStack, NavigationWindow.ForwardStack.

Untuk membuat daftar drop-down, NavigationWindow dan Frame gunakan JournalEntryUnifiedViewConverter untuk menggabungkan riwayat navigasi belakang individual mereka dan meneruskan riwayat navigasi ke dalam satu daftar entri riwayat navigasi. Daftar yang dihasilkan berisi hingga sembilan entri dari riwayat navigasi belakang dan hingga sembilan entri dari riwayat navigasi maju, ditambah entri untuk konten saat ini.

Jika Anda membuat antarmuka pengguna navigasi kustom dan perlu menyediakan daftar drop-down, Anda bisa menggunakan JournalEntryUnifiedViewConverter efek yang sama.

Penggunaan Atribut XAML

Kelas ini biasanya tidak digunakan dalam XAML.

Konstruktor

JournalEntryUnifiedViewConverter()

Menginisialisasi instans baru kelas JournalEntryUnifiedViewConverter.

Bidang

JournalEntryPositionProperty

Mengidentifikasi properti terlampir JournalEntryPosition .

Properti yang Terlampir

JournalEntryPosition

Mendapatkan atau menetapkan nilai yang menentukan apakah entri berada di riwayat navigasi belakang, meneruskan riwayat navigasi, atau merupakan konten navigator saat ini.

Metode

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

Menggabungkan dua tumpukan riwayat navigasi.

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

Tidak diterapkan.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetJournalEntryPosition(DependencyObject)

JournalEntryPosition Mendapatkan properti terlampir untuk elemen yang ditentukan.

GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
SetJournalEntryPosition(DependencyObject, JournalEntryPosition)

JournalEntryPositionProperty Mengatur properti terlampir dari elemen yang ditentukan.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk

Lihat juga