JournalEntryUnifiedViewConverter 類別

定義

JournalEntryUnifiedViewConverter 可將向後瀏覽記錄和向前瀏覽記錄 (由 FrameNavigationWindow 公開) 合併為單一的 Windows Internet Explorer 7 樣式導覽功能表。

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>

備註

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

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

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

  • 顯示如下的 Windows Internet Explorer 7 樣式下拉式清單:

    • 上一頁導覽歷程記錄中最多 9 個專案的合併清單,以及向前流覽歷程記錄中最多九個專案。

    • 目前內容片段相對於上一頁和向前流覽歷程記錄的位置。

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

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

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

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

如果您建立自訂導覽 UI,而且需要提供 Windows Internet Explorer 7 樣式的下拉式清單,您可以使用 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)

適用於

另請參閱