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 объект из стека навигации назад для получения значений свойств и Source значений Name свойств.
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) |