Click or drag to resize

FileEventViewModel Class

IT Hit User File System
View model representing event with some file - to show it as row in Tray window.
Inheritance Hierarchy
SystemObject
  ObservableObject
    ITHit.FileSystem.Windows.WinUI.ViewModelsFileEventViewModel

Namespace:  ITHit.FileSystem.Windows.WinUI.ViewModels
Assembly:  ITHit.FileSystem.Windows.WinUI (in ITHit.FileSystem.Windows.WinUI.dll) Version: 9.0.29481.0-Beta
Syntax
public class FileEventViewModel : ObservableObject

The FileEventViewModel type exposes the following members.

Constructors
  NameDescription
Public methodFileEventViewModel
Initializes a new instance of the FileEventViewModel class
Top
Properties
  NameDescription
Public propertyComponentName
Component name which fired the event.
Public propertyDirection
File or folder path related with the event.
Public propertyErrorMenuVisibility
Indicates whether error details menu point is visible.
Public propertyErrorMessage
Is filled for operations with error. Contains error message. For successed events it is null.
Public propertyEventNameText
User-friendly event name text (with preposition if needed), e.g. "Downloading", "Downloaded to", "Created in", etc.
Public propertyEventNameVisibility
Event name visibility
Public propertyExceptionStackTrace
Is filled for operations with exception. Contains exception stack trace.
Public propertyFileName
File name related with the event.
Public propertyFolderDeletedVisible
Indicates whether non-clickable folder name should be shown.
Public propertyFolderLinkVisible
Indicates whether clickable folder name should be shown.
Public propertyFolderName
Folder name in which file is located.
Public propertyHistory
Array of history items of the event
Public propertyInitialPath
Use for MoveCompleted event - contains path before moving.
Public propertyIsCompleted
Is used for Incoming UpdateContent and Populate events. Shows if operation is completed. For other types of events it is always true.
Public propertyMainOverlayIcon
Holds the main overlay icon showing kind of event ("up" for upload, "down" for download, lock/unlock, "plus" for created item).
Public propertyMainOverlayIconVisibility
Indicates whether we should show main overlay icon (it is true if icon is defined).
Public propertyNotificationTime
Notification time of the event, e.g. Before, After
Public propertyOperationStatus
Operation status (e.g. Failed or Conflict)
Public propertyOperationType
Operation type(e.g. OperationType.Delete or OperationType.Create)
Public propertyParentModel
Public propertyPath
File or folder path related with the event.
Public propertyProgressPercent
Progress percent
Public propertyProgressText
Progress text, e.g. 12.5 MB of 25.7 MB.
Public propertyProgressVisibility
Progress visibility
Public propertyResolveConflictMenuVisibility
Indicates whether resolve conflict menu point is visible.
Public propertySyncTypeOverlayIcon
Holds the additional overlay icon showing whether operation is incoming or outgoing.
Public propertyThumbnail
Holds the file thumbnail.
Public propertyThumbnailOpacity
Public propertyTime
Time of the event.
Public propertyTimeText
User-friendly string representing event's time.
Public propertyTimeVisibility
Public propertyViewItemOnlineVisibility
Indicates whether View Item Online context menu (in history items) is visible
Top
Methods
  NameDescription
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodOnPropertyChanged(PropertyChangedEventArgs)
Raises the PropertyChanged event.
(Inherited from ObservableObject.)
Protected methodOnPropertyChanged(String)
Raises the PropertyChanged event.
(Inherited from ObservableObject.)
Protected methodOnPropertyChanging(PropertyChangingEventArgs)
Raises the PropertyChanging event.
(Inherited from ObservableObject.)
Protected methodOnPropertyChanging(String)
Raises the PropertyChanging event.
(Inherited from ObservableObject.)
Protected methodSetProperty``1(UMP, UMP, String)
Compares the current and new values for a given property. If the value has changed, raises the PropertyChanging event, updates the property with the new value, then raises the PropertyChanged event.
(Inherited from ObservableObject.)
Protected methodSetProperty``1(UMP, UMP, IEqualityComparerUMP, String)
Compares the current and new values for a given property. If the value has changed, raises the PropertyChanging event, updates the property with the new value, then raises the PropertyChanged event. See additional notes about this overload in SetProperty``1(UMP, UMP, String).
(Inherited from ObservableObject.)
Protected methodSetProperty``1(UMP, UMP, ActionUMP, String)
Compares the current and new values for a given property. If the value has changed, raises the PropertyChanging event, updates the property with the new value, then raises the PropertyChanged event. This overload is much less efficient than SetProperty``1(UMP, UMP, String) and it should only be used when the former is not viable (eg. when the target property being updated does not directly expose a backing field that can be passed by reference). For performance reasons, it is recommended to use a stateful callback if possible through the SetProperty``2(UMP, UMP, UMP, ActionUMP, UMP, String) whenever possible instead of this overload, as that will allow the C# compiler to cache the input callback and reduce the memory allocations. More info on that overload are available in the related XML docs. This overload is here for completeness and in cases where that is not applicable.
(Inherited from ObservableObject.)
Protected methodSetProperty``1(UMP, UMP, IEqualityComparerUMP, ActionUMP, String)
Compares the current and new values for a given property. If the value has changed, raises the PropertyChanging event, updates the property with the new value, then raises the PropertyChanged event. See additional notes about this overload in SetProperty``1(UMP, UMP, ActionUMP, String).
(Inherited from ObservableObject.)
Protected methodSetProperty``2(UMP, UMP, UMP, ActionUMP, UMP, String)
Compares the current and new values for a given nested property. If the value has changed, raises the PropertyChanging event, updates the property and then raises the PropertyChanged event. The behavior mirrors that of SetProperty``1(UMP, UMP, String), with the difference being that this method is used to relay properties from a wrapped model in the current instance. This type is useful when creating wrapping, bindable objects that operate over models that lack support for notification (eg. for CRUD operations). Suppose we have this model (eg. for a database row in a table):
public class Person
{
    public string Name { get; set; }
}
We can then use a property to wrap instances of this type into our observable model (which supports notifications), injecting the notification to the properties of that model, like so:
public class BindablePerson : ObservableObject
{
    public Model { get; }

    public BindablePerson(Person model)
    {
        Model = model;
    }

    public string Name
    {
        get => Model.Name;
        set => Set(Model.Name, value, Model, (model, name) => model.Name = name);
    }
}
This way we can then use the wrapping object in our application, and all those "proxy" properties will also raise notifications when changed. Note that this method is not meant to be a replacement for SetProperty``1(UMP, UMP, String), and it should only be used when relaying properties to a model that doesn't support notifications, and only if you can't implement notifications to that model directly (eg. by having it inherit from ObservableObject). The syntax relies on passing the target model and a stateless callback to allow the C# compiler to cache the function, which results in much better performance and no memory usage.
(Inherited from ObservableObject.)
Protected methodSetProperty``2(UMP, UMP, IEqualityComparerUMP, UMP, ActionUMP, UMP, String)
Compares the current and new values for a given nested property. If the value has changed, raises the PropertyChanging event, updates the property and then raises the PropertyChanged event. The behavior mirrors that of SetProperty``1(UMP, UMP, String), with the difference being that this method is used to relay properties from a wrapped model in the current instance. See additional notes about this overload in SetProperty``2(UMP, UMP, UMP, ActionUMP, UMP, String).
(Inherited from ObservableObject.)
Protected methodSetPropertyAndNotifyOnCompletion(TaskNotifier, Task, String)
Compares the current and new values for a given field (which should be the backing field for a property). If the value has changed, raises the PropertyChanging event, updates the field and then raises the PropertyChanged event. The behavior mirrors that of SetProperty``1(UMP, UMP, String), with the difference being that this method will also monitor the new value of the property (a generic Task) and will also raise the PropertyChanged again for the target property when it completes. This can be used to update bindings observing that Task or any of its properties. This method and its overload specifically rely on the TaskNotifier type, which needs to be used in the backing field for the target Task property. The field doesn't need to be initialized, as this method will take care of doing that automatically. The TaskNotifier type also includes an implicit operator, so it can be assigned to any Task instance directly. Here is a sample property declaration using this method:
private TaskNotifier myTask;

public Task MyTask
{
    get => myTask;
    private set => SetAndNotifyOnCompletion(ref myTask, value);
}
(Inherited from ObservableObject.)
Protected methodSetPropertyAndNotifyOnCompletion(TaskNotifier, Task, ActionTask, String)
Compares the current and new values for a given field (which should be the backing field for a property). If the value has changed, raises the PropertyChanging event, updates the field and then raises the PropertyChanged event. This method is just like SetPropertyAndNotifyOnCompletion(TaskNotifier, Task, String), with the difference being an extra ActionT parameter with a callback being invoked either immediately, if the new task has already completed or is , or upon completion.
(Inherited from ObservableObject.)
Protected methodSetPropertyAndNotifyOnCompletion``1(TaskNotifierUMP, TaskUMP, String)
Compares the current and new values for a given field (which should be the backing field for a property). If the value has changed, raises the PropertyChanging event, updates the field and then raises the PropertyChanged event. The behavior mirrors that of SetProperty``1(UMP, UMP, String), with the difference being that this method will also monitor the new value of the property (a generic Task) and will also raise the PropertyChanged again for the target property when it completes. This can be used to update bindings observing that Task or any of its properties. This method and its overload specifically rely on the TaskNotifier type, which needs to be used in the backing field for the target Task property. The field doesn't need to be initialized, as this method will take care of doing that automatically. The TaskNotifier type also includes an implicit operator, so it can be assigned to any Task instance directly. Here is a sample property declaration using this method:
private TaskNotifier<int> myTask;

public Task<int> MyTask
{
    get => myTask;
    private set => SetAndNotifyOnCompletion(ref myTask, value);
}
(Inherited from ObservableObject.)
Protected methodSetPropertyAndNotifyOnCompletion``1(TaskNotifierUMP, TaskUMP, ActionTaskUMP, String)
Compares the current and new values for a given field (which should be the backing field for a property). If the value has changed, raises the PropertyChanging event, updates the field and then raises the PropertyChanged event. This method is just like SetPropertyAndNotifyOnCompletion``1(TaskNotifierUMP, TaskUMP, String), with the difference being an extra ActionT parameter with a callback being invoked either immediately, if the new task has already completed or is , or upon completion.
(Inherited from ObservableObject.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Events
  NameDescription
Public eventPropertyChanged (Inherited from ObservableObject.)
Public eventPropertyChanging (Inherited from ObservableObject.)
Top
See Also