NotificationViewModel - класс

Всплывающее уведомление.

Definition

Пространство имён: Tessa.UI.Notifications
Сборка: Tessa.UI (в Tessa.UI.dll) Версия: 4.0.4
C#
public class NotificationViewModel : WorkspaceModel, 
	INotificationViewModel, IWorkspaceModel, INotifyPropertyChanged
Inheritance
Object    NotificationObject    NotificationUIObject    WorkspaceModel    NotificationViewModel
Implements
INotifyPropertyChanged, IWorkspaceModel, INotificationViewModel

Заметки

Классы-наследники могут добавлять строготипизированные свойства. Свойства, не требующие типизации, можно разместить в Info без наследования. Также наследники могут изменять внешний вид уведомления, указав другие UserControl и DataTemplate. В большинстве случаев вместо наследника достаточно задать модель представления в свойстве Content, а также при необходимости скрыть иконку IconVisibility и не задавать ссылки Buttons.

Конструкторы

NotificationViewModel Создаёт объект с указанием опционального списка кнопок, отображаемых в виде ссылок. После создания объекта этот список можно изменить в свойстве Buttons. Обычно для каждого объекта нотификации также задают свойство Content, указав в нём, например, строку текста.

Свойства

AutoClose Признак того, что уведомление автоматически скрывается, если все другие отображаемые в настоящий момент уведомления также отмечены как автоматически скрываемые. Это полезно для вспомогательных уведомлений, таких как "скрыть всё".
ButtonsКнопки, отображаемые в виде ссылок.
ClickCommand Команда, выполняемая при клике по окну левой кнопкой мыши после того, как окно уведомлений будет закрыто, или null, если команда не задана. При указании команды окно будет автоматически закрываться при её выполнении [System.Windows.Input.ICommand.CanExecute].
ClickCommandImmediate Команда, выполняемая при клике по окну левой кнопкой мыши сразу же не дожидаясь того, как окно будет закрыто, или null, если команда не задана. Свойство изменяется автоматически, обычно рекомедуется его не задавать. Если это свойство задаётся вручную, то команда в свойстве [Tessa.UI.Notifications.INotificationViewModel.ClickCommand] не используется в UI.
CloseCommandКоманда закрытия рабочей области.
(Унаследован от WorkspaceModel)
ClosedExecutorОбъект, используемый для отложенного выполнения команд после закрытия всплывающего окна уведомлений.
Content Содержимое, отображаемое в окне уведомления. Обычно это текстовая строка (свойство [Tessa.UI.Notifications.INotificationViewModel.Text]) или модель представления.
Duration Длительность отображения окна сообщения перед тем, как оно начнёт закрываться (до того, как пользователь наведёт на неё мышь). Значение по умолчанию [Tessa.UI.Notifications.NotificationViewModel.DefaultDuration] актуально для быстро исчезающих уведомлений.
FontSize Размер шрифта для выводимого текста. По умолчанию равен 14.
HorizontalAlignmentВыравнивание содержимого уведомления по горизонтали.
IconSource Путь к ресурсу с изображением, который отображается на месте иконки уведомления, или null, если отображается стандартная иконка.
IconVisibilityПризнак видимости иконки уведомления. По умолчанию иконка отображается.
InfoДополнительная информация, связанная с уведомлением. Может использоваться в расширениях.
IsClosedПризнак того, что рабочая область была закрыта.
(Унаследован от WorkspaceModel)
MarginДополнительные отступы содержимого от краёв окна уведомления.
Text Текстовое содержимое, отображаемое в окне уведомления. Может быть строкой локализации. При изменении этого свойства также изменяется [Tessa.UI.Notifications.INotificationViewModel.Content].
TextAlignmentВыравнивание выводимого текста. По умолчанию текст выравнивается по центру.
TextWrapping Метод перенос слов в выводимом тексте. По умолчанию текст переносится по словам Wrap.
ToolTip Всплывающая подсказка или null, если подсказка отсутствует. Может быть строкой локализации, и может содержать плейсхолдеры локализации {$Placeholder}.
VerticalAlignmentВыравнивание содержимого уведомления по вертикали.

Методы

CloseAsync Асинхронно закрывает рабочую область. Возвращает false, если закрытие области было отменено, причём значение будет возвращено синхронно. Используйте код следующего вида в обработчике события window.Closing: async (s, e) => { var task = model.CloseAsync(); e.Cancel = task.IsCompleted && !task.Result; await task; }
(Унаследован от WorkspaceModel)
EqualsDetermines whether the specified object is equal to the current object.
(Унаследован от Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Унаследован от Object)
GetHashCodeServes as the default hash function.
(Унаследован от Object)
GetTypeGets the Type of the current instance.
(Унаследован от Object)
MemberwiseCloneCreates a shallow copy of the current Object.
(Унаследован от Object)
OnClosedAsyncПроисходит при закрытии рабочей области.
(Переопределяет WorkspaceModelOnClosedAsync(DeferredEventArgs, CancellationToken))
OnClosingAsync Происходит перед закрытием рабочей области. На этом этапе закрытие можно отменить, установив флаг Cancel в аргументах события.
(Унаследован от WorkspaceModel)
OnPropertyChanged(PropertyChangedEventArgs) Уведомляет об изменении свойства с именем, заданным в аргументах события.
(Унаследован от NotificationObject)
OnPropertyChanged(String) Уведомляет об изменении свойства с заданным именем у объекта.
(Унаследован от NotificationObject)
OnPropertyChangedAsync(PropertyChangedEventArgs, Boolean) Уведомляет об изменении свойства с именем, заданным в аргументах события, асинхронно, в соответствии с принятым для текущего объекта поведением. Если есть возможность вызвать событие синхронно, то оно вызывается синхронно. Если объект является моделью представления WPF и текущий поток отличен от потока диспетчера WPF для приложения (основной поток UI), то выполнение асинхронно переключается в этот поток. Если это не так, то событие выполняется синхронно.
(Унаследован от NotificationUIObject)
OnPropertyChangedAsync(String, Boolean) Уведомляет об изменении свойства с заданным именем у объекта асинхронно, в соответствии с принятым для текущего объекта поведением. Если есть возможность вызвать событие синхронно, то оно вызывается синхронно. Если объект является моделью представления WPF и текущий поток отличен от потока диспетчера WPF для приложения (основной поток UI), то выполнение асинхронно переключается в этот поток. Если это не так, то событие выполняется синхронно.
(Унаследован от NotificationObject)
SetIsClosedAsyncУстанавливает признак того, что рабочая область была закрыта.
(Унаследован от WorkspaceModel)
ToStringReturns a string that represents the current object.
(Унаследован от Object)

События

ClosedПроисходит при закрытии рабочей области.
(Унаследован от WorkspaceModel)
ClosingПроисходит перед закрытием рабочей области.
(Унаследован от WorkspaceModel)
PropertyChangedСобытие, уведомляющее об изменении свойства с определённым именем у модели представления.
(Унаследован от NotificationObject)

Поля

AutoCloseProperty Имя свойства AutoClose.
ClickCommandImmediateProperty Имя свойства ClickCommandImmediate.
ClickCommandProperty Имя свойства ClickCommand.
ContentProperty Имя свойства Content.
DefaultDuration Длительность отображения уведомления Duration по умолчанию. В текущей версии платформы это 5 секунд.
DefaultFontSize Значение по умолчанию для свойства FontSize. В текущей версии платформы это 14.0.
DefaultHorizontalAlignment Значение по умолчанию для свойства HorizontalAlignment. В текущей версии платформы это Center.
DefaultMargin Значение по умолчанию для свойства Margin. В текущей версии платформы отступы равны 0.
DefaultTextAlignment Значение по умолчанию для свойства TextAlignment. В текущей версии платформы это Center.
DefaultTextWrapping Значение по умолчанию для свойства TextWrapping. В текущей версии платформы это Wrap.
DefaultVerticalAlignment Значение по умолчанию для свойства VerticalAlignment. В текущей версии платформы это Center.
DurationProperty Имя свойства Duration.
FontSizeProperty Имя свойства FontSize.
HorizontalAlignmentProperty Имя свойства TextWrapping.
IconSourceProperty Имя свойства IconSource.
IconVisibilityProperty Имя свойства IconVisibility.
MarginProperty Имя свойства Margin.
TextAlignmentProperty Имя свойства TextAlignment.
TextProperty Имя свойства Text.
TextWrappingProperty Имя свойства TextWrapping.
ToolTipProperty Имя свойства ToolTip.
VerticalAlignmentProperty Имя свойства TextWrapping.

Методы расширения

Get
(Определяется ComHelper)
Invoke
(Определяется ComHelper)
Set
(Определяется ComHelper)

См. также