Поделиться через


JournalEntryUnifiedViewConverter Класс

Определение

JournalEntryUnifiedViewConverter Объединяет журнал перехода назад и журнал перехода вперед (предоставляемый Frame или NavigationWindow) в единое меню навигации.

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>

Комментарии

NavigationWindow И Frame отображают хром навигации, поддерживающий навигацию по журналам, используя следующие механизмы:

  • Кнопка для перехода назад по одному фрагменту содержимого за раз.

  • Кнопка для перемещения вперед по одному фрагменту содержимого за раз.

  • Раскрывающийся список, в который показано:

    • Объединенный список до девяти элементов в журнале навигации назад и до девяти элементов в журнале навигации вперед.
    • Положение текущего фрагмента содержимого относительно журнала навигации назад и вперед.

Журнал навигации хранится как в, так NavigationWindow и Frame в следующих свойствах:

Назад журнал навигации: Frame.BackStack, NavigationWindow.BackStack.

Журнал переадресации навигации: Frame.ForwardStack, NavigationWindow.ForwardStack.

Чтобы создать раскрывающийся список, NavigationWindow используйте Frame для JournalEntryUnifiedViewConverter объединения отдельных журналов навигации назад и журнала навигации вперед в единый список записей журнала навигации. Итоговый список содержит до девяти записей из журнала навигации назад и до девяти записей из журнала навигации вперед, а также запись для текущего содержимого.

Если вы создаете пользовательский интерфейс навигации и хотите предоставить раскрывающийся список, можно использовать JournalEntryUnifiedViewConverter для аналогичного эффекта.

Использование атрибута XAML

Этот класс обычно не используется в 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)

Применяется к

См. также раздел