JournalEntry Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет запись в журнале переходов вперед или назад.
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.Navigate, ). Frame.NavigateМетод
GoForward
вызывается (NavigationService.GoForward, NavigationWindow.GoForward, ). Frame.GoForwardКнопка вперед в пользовательском интерфейсе навигации, отображаемая из текущего навигатора (XBAP, NavigationWindow, ). Frame
Аналогичным образом, запись для текущего элемента добавляется для пересылки журнала навигации перед переходом назад, что происходит в следующих случаях:
Метод
GoBack
вызывается (NavigationService.GoBack, NavigationWindow.GoBack, ). Frame.GoBackКнопка "Назад" в пользовательском интерфейсе навигации, отображаемая из текущего навигатора (XBAP, NavigationWindow, ). Frame
Каждая запись в журнале навигации "Назад" и "Вперед" является экземпляром JournalEntry класса .
Каждый JournalEntry объект инкапсулирует сведения о конкретной навигации, включая имя записи (Name), сохраняется ли запись в активном состоянии (KeepAlive) и универсальный идентификатор ресурса (URI) для содержимого, к которому осуществляется переход (Source).
Вы можете получить все объекты в журнале JournalEntry навигации с помощью перечисления NavigationWindow.BackStack свойств или Frame.BackStack . Для журнала навигации вперед можно получить все JournalEntry объекты, перечислив NavigationWindow.ForwardStack свойства или Frame.ForwardStack .
Если необходимо удалить последний JournalEntry объект из журнала навигации назад, например, чтобы предотвратить переход к нему, можно вызвать RemoveBackEntry
метод (NavigationService.RemoveBackEntry, NavigationWindow.RemoveBackEntry, Frame.RemoveBackEntry), который удаляет JournalEntry объект и возвращает ссылку на него.
Однако нельзя добавлять JournalEntry объекты в журнал навигации, так как вы не можете ни создать экземпляр, ни производный от JournalEntry, а также поскольку ни один тип не реализует элемент для этого. Однако можно добавить пользовательские CustomContentState объекты в журнал навигации, вызвав AddBackEntry
метод (AddBackEntry, AddBackEntry, AddBackEntry); NavigationService добавляет 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 |
Возвращает или задает значение, указывающее, сохраняется ли содержимое записи журнала в памяти или повторно создается при переходе к нему с использованием журнала. |
Методы
CheckAccess() |
Определяет, имеет ли вызывающий поток доступ к этому DispatcherObject. (Унаследовано от DispatcherObject) |
ClearValue(DependencyProperty) |
Очищает локальное значение свойства. Очищаемое свойство задается идентификатором DependencyProperty. (Унаследовано от DependencyObject) |
ClearValue(DependencyPropertyKey) |
Очищает локальное значение доступного только для чтения свойства. Очищаемое свойство задается ключом DependencyPropertyKey. (Унаследовано от DependencyObject) |
CoerceValue(DependencyProperty) |
Приводит значение указанного свойства зависимостей. Это осуществляется путем вызова какой-либо функции CoerceValueCallback, указанной в метаданных свойства зависимостей, которое существует в вызывающем объекте DependencyObject. (Унаследовано от DependencyObject) |
Equals(Object) |
Определяет, является ли указанный DependencyObject эквивалентом текущего DependencyObject. (Унаследовано от DependencyObject) |
GetHashCode() |
Возвращает хэш-код для данного объекта DependencyObject. (Унаследовано от DependencyObject) |
GetKeepAlive(DependencyObject) |
Возвращает присоединенное свойство KeepAlive записи журнала для указанного элемента. |
GetLocalValueEnumerator() |
Создает специализированный перечислитель для определения свойств зависимостей, которые локально установили значения для данного DependencyObject. (Унаследовано от DependencyObject) |
GetName(DependencyObject) |
Возвращает присоединенное свойство Name записи журнала для указанного элемента. |
GetObjectData(SerializationInfo, StreamingContext) |
Вызывается при сериализации этого объекта. |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
GetValue(DependencyProperty) |
Возвращает текущее действующее значение свойства зависимостей в этом экземпляре DependencyObject. (Унаследовано от DependencyObject) |
InvalidateProperty(DependencyProperty) |
Повторно вычисляет действующее значение для указанного свойства зависимостей. (Унаследовано от DependencyObject) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Вызывается каждый раз, когда обновляется действительное значение любого свойства зависимостей для данного DependencyObject. Конкретное измененное свойство зависимостей сообщается в данных события. (Унаследовано от DependencyObject) |
ReadLocalValue(DependencyProperty) |
Возвращает локальное значение свойства зависимостей, если таковое существует. (Унаследовано от DependencyObject) |
SetCurrentValue(DependencyProperty, Object) |
Задает значение свойства зависимостей, не меняя источник значения. (Унаследовано от DependencyObject) |
SetKeepAlive(DependencyObject, Boolean) |
Задает значение присоединенного свойства KeepAlive в указанном элементе. |
SetName(DependencyObject, String) |
Задает значение присоединенного свойства Name в указанном элементе. |
SetValue(DependencyProperty, Object) |
Задает локальное значение свойства зависимостей, указанного идентификатором этого свойства. (Унаследовано от DependencyObject) |
SetValue(DependencyPropertyKey, Object) |
Задает локальное значение свойства зависимости только для чтения, определяемое идентификатором DependencyPropertyKey свойства зависимостей. (Унаследовано от DependencyObject) |
ShouldSerializeProperty(DependencyProperty) |
Возвращает значение, которое указывает, следует ли процессам сериализации выполнять сериализацию значения для предоставленного свойства зависимостей. (Унаследовано от DependencyObject) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
VerifyAccess() |
Обеспечивает наличие у вызывающего потока доступ к этому DispatcherObject. (Унаследовано от DispatcherObject) |