JournalEntryUnifiedViewConverter Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
JournalEntryUnifiedViewConverter mescla o histórico de navegação e o histórico de navegação (conforme exposto por Frame ou NavigationWindow) em um único menu de navegação.
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
- Herança
-
JournalEntryUnifiedViewConverter
- Implementações
Exemplos
O exemplo a seguir mostra como construir um menu de histórico de navegação baseado em texto. O menu usa para combinar os históricos JournalEntryUnifiedViewConverter de navegação para trás e para frente do navegador hospedado 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>
Comentários
E FrameNavigationWindow exibem o cromado de navegação que dá suporte à navegação de histórico usando os seguintes mecanismos:
Um botão para navegar de volta uma parte do conteúdo de cada vez.
Um botão para navegar para frente em uma parte do conteúdo por vez.
Uma lista suspensa que mostra:
- Uma lista combinada de até nove itens no histórico de navegação anterior e até nove itens no histórico de navegação para frente.
- A posição da parte atual do conteúdo em relação ao histórico de navegação para trás e para frente.
O histórico de navegação é armazenado por NavigationWindow e Frame nas seguintes propriedades:
Histórico de navegação de volta: Frame.BackStack, NavigationWindow.BackStack.
Histórico de navegação de encaminhamento: Frame.ForwardStack, NavigationWindow.ForwardStack.
Para criar a lista NavigationWindow suspensa e Frame usar JournalEntryUnifiedViewConverter para mesclar seu histórico de navegação back individual e histórico de navegação de encaminhamento em uma única lista de entradas do histórico de navegação. A lista resultante contém até nove entradas do histórico de navegação anterior e até nove entradas do histórico de navegação para frente, além de uma entrada para o conteúdo atual.
Se você criar uma interface do usuário de navegação personalizada e precisar fornecer uma lista suspensa, poderá usar para efeito JournalEntryUnifiedViewConverter semelhante.
Uso do Atributo XAML
Essa classe normalmente não é usada em XAML.
Construtores
JournalEntryUnifiedViewConverter() |
Inicializa uma nova instância da classe JournalEntryUnifiedViewConverter. |
Campos
JournalEntryPositionProperty |
Identifica a propriedade JournalEntryPosition anexada. |
Propriedades Anexadas
JournalEntryPosition |
Obtém ou define um valor que especifica se uma entrada está no histórico de navegação anterior, no histórico de navegação posterior ou no conteúdo atual de um navegador. |
Métodos
Convert(Object[], Type, Object, CultureInfo) |
Mescla duas pilhas de histórico de navegação. |
ConvertBack(Object, Type[], Object, CultureInfo) |
Não implementado. |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetJournalEntryPosition(DependencyObject) |
Obtém a propriedade anexada JournalEntryPosition do elemento especificado. |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
SetJournalEntryPosition(DependencyObject, JournalEntryPosition) |
Define a propriedade anexada JournalEntryPositionProperty do elemento especificado. |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |