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实现导航历史记录服务,该服务为之前导航到的每个内容段存储一个条目,就像浏览器中的导航历史记录一样。 导航历史记录由两个堆栈组成,一个堆栈用于记住后退导航历史记录,一个堆栈用于记住前进导航历史记录。
发生向前导航时,当前项的条目将添加到后退导航历史记录。 这种情况在以下情况下发生:
方法
Navigate
(NavigationService.Navigate、、 NavigationWindow.NavigateFrame.Navigate) 调用。方法
GoForward
(NavigationService.GoForward、、 NavigationWindow.GoForwardFrame.GoForward) 调用。导航 UI 上的前进按钮,从当前导航器 (XBAP、、 NavigationWindowFrame) 显示。
同样,在发生后退导航之前,会将当前项的条目添加到转发导航历史记录中,这在以下情况下发生:
方法
GoBack
(NavigationService.GoBack、、 NavigationWindow.GoBackFrame.GoBack) 调用。导航 UI 上从当前导航器显示的后退按钮 (XBAP、 NavigationWindow、 Frame) 。
后退和前进导航历史记录中的每个条目都是 类的 JournalEntry 一个实例。
每个 JournalEntry 对象封装有关特定导航的信息,包括条目 () Name 的名称、条目是否 () KeepAlive 保持活动状态,以及导航到 () 的内容的统一资源标识符 (URI) Source 。
可以通过枚举 NavigationWindow.BackStack 或 Frame.BackStack 属性检索后退导航历史记录中的所有JournalEntry对象。 对于向前导航历史记录,可以通过枚举 NavigationWindow.ForwardStack 或 Frame.ForwardStack 属性来检索所有JournalEntry对象。
例如,如果需要从后退导航历史记录中删除最近的JournalEntry对象,可以调用 RemoveBackEntry
方法 (NavigationService.RemoveBackEntry、、 NavigationWindow.RemoveBackEntryFrame.RemoveBackEntry) ,这会删除对象JournalEntry并返回对其的引用。
但是,不能将对象添加到 JournalEntry 导航历史记录,因为既不能实例化也不能派生自 JournalEntry,而且没有类型实现成员来执行此操作。 但是,可以通过调用 方法 (AddBackEntry、、 AddBackEntryAddBackEntry) 将自定义CustomContentState对象添加到后退导航历史记录;NavigationService将CustomContentState对象添加到内部创建JournalEntry的对象,然后将该对象添加到后退导航历史记录AddBackEntry
中。
构造函数
JournalEntry(SerializationInfo, StreamingContext) |
初始化 JournalEntry 类的新实例。 |
字段
KeepAliveProperty |
标识 KeepAlive 附加属性。 |
NameProperty |
标识 Name 附加属性。 |
属性
CustomContentState |
获取或设置与日记条目关联的 CustomContentState 对象。 |
DependencyObjectType |
获取 DependencyObjectType 包装此实例的 CLR 类型的 。 (继承自 DependencyObject) |
Dispatcher |
获取与此 Dispatcher 关联的 DispatcherObject。 (继承自 DispatcherObject) |
IsSealed |
获取一个值,该值指示此实例当前是否为密封的(只读)。 (继承自 DependencyObject) |
Name |
获取或设置日记条目的名称。 |
Source |
获取或设置导航到的内容的 URI。 |
附加属性
KeepAlive |
获取或设置一个值,该值指示在导航到日记条目内容时,在导航历史记录中是保留还是重新创建内容。 |