Share via


JournalEntryUnifiedViewConverter 類別

定義

JournalEntryUnifiedViewConverter 將巡覽回歷程記錄和巡覽向前歷程記錄 (合併為 FrameNavigationWindow 單一導覽功能表或) 。

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
繼承
JournalEntryUnifiedViewConverter
實作

範例

下列範例示範如何建構文字型導覽歷程記錄功能表。 功能表會使用 JournalEntryUnifiedViewConverter 來結合託管 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>

備註

FrameNavigationWindow 顯示支援使用下列機制進行歷程記錄瀏覽的瀏覽 Chrome:

  • 一次流覽一個內容片段的按鈕。

  • 一次流覽一段內容的按鈕。

  • 顯示:

    • 上一頁導覽歷程記錄中最多九個專案的合併清單,以及向前瀏覽歷程記錄中最多九個專案。
    • 目前內容片段相對於上一頁和向前瀏覽歷程記錄的位置。

導覽歷程記錄會由 NavigationWindowFrame 儲存在下列屬性中:

返回瀏覽歷程記錄Frame.BackStackNavigationWindow.BackStack

向前瀏覽歷程記錄Frame.ForwardStackNavigationWindow.ForwardStack

若要建立下拉式清單, NavigationWindow 並使用 FrameJournalEntryUnifiedViewConverter 將個別的返回瀏覽歷程記錄和向前瀏覽歷程記錄合併成單一導覽歷程記錄項目清單。 產生的清單包含最多九個專案,來自上一個瀏覽歷程記錄,以及目前內容的專案,最多包含來自向前瀏覽歷程記錄的九個專案。

如果您建立自定義導覽 UI,而且需要提供下拉式清單,您可以使用 來產生 JournalEntryUnifiedViewConverter 類似的效果。

XAML Attribute Usage

這個類別通常不會在 XAML 中使用。

建構函式

JournalEntryUnifiedViewConverter()

初始化 JournalEntryUnifiedViewConverter 類別的新執行個體。

欄位

JournalEntryPositionProperty

識別 JournalEntryPosition 附加屬性。

附加屬性

JournalEntryPosition

取得或設定值,這個值指定項目是在向後巡覽記錄、向前巡覽記錄,或巡覽器的目前內容中。

方法

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

合併兩個巡覽記錄堆疊。

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

未實作。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetJournalEntryPosition(DependencyObject)

取得所指定項目的 JournalEntryPosition 附加屬性。

GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
SetJournalEntryPosition(DependencyObject, JournalEntryPosition)

設定指定項目的 JournalEntryPositionProperty 附加屬性。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

適用於

另請參閱