JournalEntry 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示后退或前进导航历史记录中的一个条目。
public ref class JournalEntry : System::Windows::DependencyObject, System::Runtime::Serialization::ISerializable
[System.Serializable]
public class JournalEntry : System.Windows.DependencyObject, System.Runtime.Serialization.ISerializable
public class JournalEntry : System.Windows.DependencyObject, System.Runtime.Serialization.ISerializable
[<System.Serializable>]
type JournalEntry = class
inherit DependencyObject
interface ISerializable
type JournalEntry = class
inherit DependencyObject
interface ISerializable
Public Class JournalEntry
Inherits DependencyObject
Implements ISerializable
- 继承
- 属性
- 实现
示例
以下示例演示如何从后退导航堆栈检索最新的 JournalEntry 对象以获取 Name 和 Source 属性值。
void removeJournalEntryButton_Click(object sender, RoutedEventArgs e)
{
// If there are journal entries on the back navigation stack
if (this.NavigationService.CanGoBack)
{
// Remove and get the most recent entry on the back navigation stack
JournalEntry journalEntry = this.NavigationService.RemoveBackEntry();
string name = journalEntry.Name;
string uri = journalEntry.Source.OriginalString;
MessageBox.Show(name + " [" + uri + "] removed from back navigation.");
}
}
Private Sub removeJournalEntryButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
' If there are journal entries on the back navigation stack
If Me.NavigationService.CanGoBack Then
' Remove and get the most recent entry on the back navigation stack
Dim journalEntry As JournalEntry = Me.NavigationService.RemoveBackEntry()
Dim name As String = journalEntry.Name
Dim uri As String = journalEntry.Source.OriginalString
MessageBox.Show(name & " [" & uri & "] removed from back navigation.")
End If
End Sub
注解
Windows Presentation Foundation实现导航历史记录服务,该服务存储以前导航到的每个内容一个条目,就像 Microsoft Internet Explorer 中的导航历史记录一样。 导航历史记录包括两个堆栈,一个堆栈用于记住后退导航历史记录,一个堆栈用于记住前向导航历史记录。
发生向前导航时,当前项的条目将添加到后退导航历史记录。 这种情况发生在以下情况下:
该方法
Navigate
称为 (NavigationService.Navigate, NavigationWindow.NavigateFrame.Navigate) 。该方法
GoForward
称为 (NavigationService.GoForward, NavigationWindow.GoForwardFrame.GoForward) 。从当前导航器 (XBAP、 NavigationWindowFrame) 显示的导航 UI 上的向前按钮。
同样,在发生后退导航之前,会将当前项的条目添加到前向导航历史记录,当以下情况发生时发生:
该方法
GoBack
称为 (NavigationService.GoBack, NavigationWindow.GoBackFrame.GoBack) 。从当前导航器 (XBAP、 NavigationWindowFrame) 显示的导航 UI 上的后退按钮。
后退导航历史记录和向前导航历史记录中的每个条目都是类的 JournalEntry 实例。
每个 JournalEntry 对象封装有关特定导航的信息,包括条目 () Name 的名称、条目是否保持活动状态 () KeepAlive 以及导航到 () Source 内容的统一资源标识符 (URI) 。
可以通过枚举NavigationWindow.BackStack或Frame.BackStack属性来检索后退导航历史记录中的所有JournalEntry对象。 对于前向导航历史记录,可以通过枚举NavigationWindow.ForwardStack或Frame.ForwardStack属性来检索所有JournalEntry对象。
如果需要从后退导航历史记录中删除最近的 JournalEntry 对象,以防止导航到它,例如,可以调用 RemoveBackEntry
方法 (NavigationService.RemoveBackEntry、 NavigationWindow.RemoveBackEntry) Frame.RemoveBackEntry ,该方法将删除 JournalEntry 该对象并返回对其的引用。
但是,不能将对象添加到 JournalEntry 导航历史记录,因为既不能实例化也不能派生对象 JournalEntry,也不能从中派生对象,而且没有类型实现成员执行此操作。 但是,可以通过调用AddBackEntry
方法 (AddBackEntry AddBackEntryAddBackEntry,) ;CustomContentStateNavigationService将自定义CustomContentState对象添加到内部创建JournalEntry的对象,然后将该对象添加到后退导航历史记录。
构造函数
JournalEntry(SerializationInfo, StreamingContext) |
初始化 JournalEntry 类的新实例。 |
字段
KeepAliveProperty |
标识 KeepAlive 附加属性。 |
NameProperty |
标识 Name 附加属性。 |
属性
CustomContentState |
获取或设置与日记条目关联的 CustomContentState 对象。 |
DependencyObjectType |
获取包装 DependencyObjectType 此实例的 CLR 类型。 (继承自 DependencyObject) |
Dispatcher |
获取与此 Dispatcher 关联的 DispatcherObject。 (继承自 DispatcherObject) |
IsSealed |
获取一个值,该值指示此实例当前是否为密封的(只读)。 (继承自 DependencyObject) |
Name |
获取或设置日记条目的名称。 |
Source |
获取或设置导航到的内容的 URI。 |
附加属性
KeepAlive |
获取或设置一个值,该值指示在导航到日记条目内容时,在导航历史记录中是保留还是重新创建内容。 |