Daniel's XL Toolbox NG
Bovender.Mvvm.ViewModels.ViewModelBase Class Referenceabstract
Inheritance diagram for Bovender.Mvvm.ViewModels.ViewModelBase:
Collaboration diagram for Bovender.Mvvm.ViewModels.ViewModelBase:

Public Member Functions

bool IsViewModelOf (object model)
 Determines whether the current object is a view model of a particular model object. Returns false if either the model or the viewmodel's wrapped model object is null. More...
 
abstract object RevealModelObject ()
 Returns the model object that this view model wraps or null if there is no wrapped model object. More...
 
Window InjectInto< T > ()
 Injects the ViewModel into a newly created View and wires the RequestCloseView event. More...
 
Window InjectInto (Window view)
 Injects the view model into an existing view by setting the view's DataContext. More...
 
void InjectAndShowInThread< T > (IntPtr ownerForm)
 Creates a new thread that creates a new instance of the view T , sets its Forms owner and shows it modelessly. Use this to show views during asynchronous operations. More...
 
void InjectAndShowInThread< T > ()
 Creates a new thread that creates a new instance of the view T and shows it modelessly. Use this to show views during asynchronous operations. More...
 
void InjectAndShowDialogInThread< T > (IntPtr ownerForm)
 Creates a new thread that creates a new instance of the view T and shows it as a dialog. Use this to show dialogs during asynchronous operations. More...
 
bool IsViewModelOf (object model)
 Determines whether the current object is a view model of a particular model object. Returns false if either the model or the viewmodel's wrapped model object is null. More...
 
abstract object RevealModelObject ()
 Returns the model object that this view model wraps or null if there is no wrapped model object. More...
 
Window InjectInto< T > ()
 Injects the ViewModel into a newly created View and wires the RequestCloseView event. More...
 
Window InjectInto (Window view)
 Injects the view model into an existing view by setting the view's DataContext. More...
 
void InjectAndShowInThread< T > (IntPtr ownerForm)
 Creates a new thread that creates a new instance of the view T , sets its Forms owner and shows it modelessly. Use this to show views during asynchronous operations. More...
 
void InjectAndShowInThread< T > ()
 Creates a new thread that creates a new instance of the view T and shows it modelessly. Use this to show views during asynchronous operations. More...
 
void InjectAndShowDialogInThread< T > (IntPtr ownerForm)
 Creates a new thread that creates a new instance of the view T and shows it as a dialog. Use this to show dialogs during asynchronous operations. More...
 

Protected Member Functions

virtual void OnPropertyChanged (string propertyName)
 
virtual bool CanCloseView ()
 
virtual void DoCloseView ()
 
 ViewModelBase ()
 Does not allow public instantiation of this class. More...
 
virtual void OnPropertyChanged (string propertyName)
 
virtual bool CanCloseView ()
 
virtual void DoCloseView ()
 
 ViewModelBase ()
 Does not allow public instantiation of this class. More...
 

Properties

ICommand CloseViewCommand [get]
 
virtual string DisplayString [get, set]
 
bool IsSelected [get, set]
 
Dispatcher ViewDispatcher [get, set]
 
Dispatcher Dispatcher [get]
 Captures the dispatcher of the thread that the object was created in. More...
 

Events

EventHandler RequestCloseView
 Raised by the CloseView Command, signals that associated views are to be closed. More...
 
PropertyChangedEventHandler PropertyChanged
 

Constructor & Destructor Documentation

◆ ViewModelBase() [1/2]

Bovender.Mvvm.ViewModels.ViewModelBase.ViewModelBase ( )
inlineprotected

Does not allow public instantiation of this class.

◆ ViewModelBase() [2/2]

Bovender.Mvvm.ViewModels.ViewModelBase.ViewModelBase ( )
inlineprotected

Does not allow public instantiation of this class.

Member Function Documentation

◆ CanCloseView() [1/2]

virtual bool Bovender.Mvvm.ViewModels.ViewModelBase.CanCloseView ( )
inlineprotectedvirtual

◆ CanCloseView() [2/2]

virtual bool Bovender.Mvvm.ViewModels.ViewModelBase.CanCloseView ( )
inlineprotectedvirtual

◆ DoCloseView() [1/2]

virtual void Bovender.Mvvm.ViewModels.ViewModelBase.DoCloseView ( )
inlineprotectedvirtual

◆ DoCloseView() [2/2]

virtual void Bovender.Mvvm.ViewModels.ViewModelBase.DoCloseView ( )
inlineprotectedvirtual

◆ InjectAndShowDialogInThread< T >() [1/2]

void Bovender.Mvvm.ViewModels.ViewModelBase.InjectAndShowDialogInThread< T > ( IntPtr  ownerForm)
inline

Creates a new thread that creates a new instance of the view T and shows it as a dialog. Use this to show dialogs during asynchronous operations.

Parameters
ownerFormHandle of the Forms window that the view should belong to.
Template Parameters
TView (descendant of Window).
Type Constraints
T :Window 
T :new() 

◆ InjectAndShowDialogInThread< T >() [2/2]

void Bovender.Mvvm.ViewModels.ViewModelBase.InjectAndShowDialogInThread< T > ( IntPtr  ownerForm)
inline

Creates a new thread that creates a new instance of the view T and shows it as a dialog. Use this to show dialogs during asynchronous operations.

Parameters
ownerFormHandle of the Forms window that the view should belong to.
Template Parameters
TView (descendant of Window).
Type Constraints
T :Window 
T :new() 

◆ InjectAndShowInThread< T >() [1/4]

void Bovender.Mvvm.ViewModels.ViewModelBase.InjectAndShowInThread< T > ( IntPtr  ownerForm)
inline

Creates a new thread that creates a new instance of the view T , sets its Forms owner and shows it modelessly. Use this to show views during asynchronous operations.

Parameters
ownerFormHandle of the Forms window that the view should belong to.
Template Parameters
TView (descendant of Window).
Type Constraints
T :Window 
T :new() 

◆ InjectAndShowInThread< T >() [2/4]

void Bovender.Mvvm.ViewModels.ViewModelBase.InjectAndShowInThread< T > ( IntPtr  ownerForm)
inline

Creates a new thread that creates a new instance of the view T , sets its Forms owner and shows it modelessly. Use this to show views during asynchronous operations.

Parameters
ownerFormHandle of the Forms window that the view should belong to.
Template Parameters
TView (descendant of Window).
Type Constraints
T :Window 
T :new() 

◆ InjectAndShowInThread< T >() [3/4]

void Bovender.Mvvm.ViewModels.ViewModelBase.InjectAndShowInThread< T > ( )
inline

Creates a new thread that creates a new instance of the view T and shows it modelessly. Use this to show views during asynchronous operations.

Template Parameters
TView (descendant of Window).
Type Constraints
T :Window 
T :new() 

◆ InjectAndShowInThread< T >() [4/4]

void Bovender.Mvvm.ViewModels.ViewModelBase.InjectAndShowInThread< T > ( )
inline

Creates a new thread that creates a new instance of the view T and shows it modelessly. Use this to show views during asynchronous operations.

Template Parameters
TView (descendant of Window).
Type Constraints
T :Window 
T :new() 

◆ InjectInto() [1/2]

Window Bovender.Mvvm.ViewModels.ViewModelBase.InjectInto ( Window  view)
inline

Injects the view model into an existing view by setting the view's DataContext.

Parameters
viewView that shall be dependency injected.
Returns
View with current view model injected.

◆ InjectInto() [2/2]

Window Bovender.Mvvm.ViewModels.ViewModelBase.InjectInto ( Window  view)
inline

Injects the view model into an existing view by setting the view's DataContext.

Parameters
viewView that shall be dependency injected.
Returns
View with current view model injected.

◆ InjectInto< T >() [1/2]

Injects the ViewModel into a newly created View and wires the RequestCloseView event.

Template Parameters
TView, must be derived from System.Windows.Window
Returns
View with DataContext set to the current ViewModel instance that responds to the RequestCloseView event by closing itself.
Type Constraints
T :Window 
T :new() 

◆ InjectInto< T >() [2/2]

Injects the ViewModel into a newly created View and wires the RequestCloseView event.

Template Parameters
TView, must be derived from System.Windows.Window
Returns
View with DataContext set to the current ViewModel instance that responds to the RequestCloseView event by closing itself.
Type Constraints
T :Window 
T :new() 

◆ IsViewModelOf() [1/2]

bool Bovender.Mvvm.ViewModels.ViewModelBase.IsViewModelOf ( object  model)
inline

Determines whether the current object is a view model of a particular model object. Returns false if either the model or the viewmodel's wrapped model object is null.

Parameters
modelThe model to check.
Returns
True if model is wrapped by this; false if not (including null objects).

◆ IsViewModelOf() [2/2]

bool Bovender.Mvvm.ViewModels.ViewModelBase.IsViewModelOf ( object  model)
inline

Determines whether the current object is a view model of a particular model object. Returns false if either the model or the viewmodel's wrapped model object is null.

Parameters
modelThe model to check.
Returns
True if model is wrapped by this; false if not (including null objects).

◆ OnPropertyChanged() [1/2]

virtual void Bovender.Mvvm.ViewModels.ViewModelBase.OnPropertyChanged ( string  propertyName)
inlineprotectedvirtual

◆ OnPropertyChanged() [2/2]

virtual void Bovender.Mvvm.ViewModels.ViewModelBase.OnPropertyChanged ( string  propertyName)
inlineprotectedvirtual

◆ RevealModelObject() [1/2]

abstract object Bovender.Mvvm.ViewModels.ViewModelBase.RevealModelObject ( )
pure virtual

Returns the model object that this view model wraps or null if there is no wrapped model object.

This is a method rather than a property to make data binding more difficult (if not impossible), because binding directly to the model object is discouraged. However, certain users such as a ViewModelCollection might need access to the wrapped model object.

Returns
Model object.

Implemented in XLToolbox.Excel.ViewModels.Instance, Bovender.Versioning.UpdaterViewModel, Bovender.Versioning.UpdaterViewModel, XLToolbox.Excel.ViewModels.SheetViewModel, XLToolbox.Export.ViewModels.PresetViewModel, XLToolbox.Excel.ViewModels.WorkbookViewModel, XLToolbox.Export.ViewModels.PresetsRepositoryViewModel, XLToolbox.UserSettings.UserSettingsViewModel, XLToolbox.Excel.ViewModels.SelectionViewModel, XLToolbox.Backup.BackupsViewModel, XLToolbox.Export.ViewModels.ColorProfileViewModel, XLToolbox.Export.ViewModels.ColorProfileRepositoryViewModel, XLToolbox.Keyboard.ShortcutViewModel, XLToolbox.About.AboutViewModel, XLToolbox.Keyboard.ManagerViewModel, Bovender.Mvvm.ViewModels.EnumViewModel< T >, Bovender.Mvvm.ViewModels.EnumViewModel< T >, XLToolbox.Export.ViewModels.ScreenshotExporterViewModel, XLToolbox.Greeter.GreeterViewModel, Bovender.UserSettings.UserSettingsExceptionViewModel, Bovender.UserSettings.UserSettingsExceptionViewModel, XLToolbox.Excel.ViewModels.ChartViewModel, Bovender.Mvvm.Messaging.MessageContent, Bovender.Mvvm.Messaging.MessageContent, Bovender.HtmlFiles.HtmlFileViewModel, Bovender.HtmlFiles.HtmlFileViewModel, XLToolbox.ExceptionHandler.ExceptionViewModel, XLToolbox.Backup.BackupFileViewModel, XLToolbox.Backup.BackupFailedViewModel, Bovender.UserSettings.UserSettingsViewModel, Bovender.UserSettings.UserSettingsViewModel, XLToolbox.Vba.VbaExceptionViewModel, and XLToolbox.Logging.LogFileViewModel.

◆ RevealModelObject() [2/2]

abstract object Bovender.Mvvm.ViewModels.ViewModelBase.RevealModelObject ( )
pure virtual

Returns the model object that this view model wraps or null if there is no wrapped model object.

This is a method rather than a property to make data binding more difficult (if not impossible), because binding directly to the model object is discouraged. However, certain users such as a ViewModelCollection might need access to the wrapped model object.

Returns
Model object.

Implemented in XLToolbox.Excel.ViewModels.Instance, Bovender.Versioning.UpdaterViewModel, Bovender.Versioning.UpdaterViewModel, XLToolbox.Excel.ViewModels.SheetViewModel, XLToolbox.Export.ViewModels.PresetViewModel, XLToolbox.Excel.ViewModels.WorkbookViewModel, XLToolbox.Export.ViewModels.PresetsRepositoryViewModel, XLToolbox.UserSettings.UserSettingsViewModel, XLToolbox.Excel.ViewModels.SelectionViewModel, XLToolbox.Backup.BackupsViewModel, XLToolbox.Export.ViewModels.ColorProfileViewModel, XLToolbox.Export.ViewModels.ColorProfileRepositoryViewModel, XLToolbox.Keyboard.ShortcutViewModel, XLToolbox.About.AboutViewModel, XLToolbox.Keyboard.ManagerViewModel, Bovender.Mvvm.ViewModels.EnumViewModel< T >, Bovender.Mvvm.ViewModels.EnumViewModel< T >, XLToolbox.Export.ViewModels.ScreenshotExporterViewModel, XLToolbox.Greeter.GreeterViewModel, Bovender.UserSettings.UserSettingsExceptionViewModel, Bovender.UserSettings.UserSettingsExceptionViewModel, XLToolbox.Excel.ViewModels.ChartViewModel, Bovender.Mvvm.Messaging.MessageContent, Bovender.Mvvm.Messaging.MessageContent, Bovender.HtmlFiles.HtmlFileViewModel, Bovender.HtmlFiles.HtmlFileViewModel, XLToolbox.ExceptionHandler.ExceptionViewModel, XLToolbox.Backup.BackupFileViewModel, XLToolbox.Backup.BackupFailedViewModel, Bovender.UserSettings.UserSettingsViewModel, Bovender.UserSettings.UserSettingsViewModel, XLToolbox.Vba.VbaExceptionViewModel, and XLToolbox.Logging.LogFileViewModel.

Property Documentation

◆ CloseViewCommand

ICommand Bovender.Mvvm.ViewModels.ViewModelBase.CloseViewCommand
get

◆ Dispatcher

Dispatcher Bovender.Mvvm.ViewModels.ViewModelBase.Dispatcher
getprotected

Captures the dispatcher of the thread that the object was created in.

◆ DisplayString

string Bovender.Mvvm.ViewModels.ViewModelBase.DisplayString
getset

◆ IsSelected

bool Bovender.Mvvm.ViewModels.ViewModelBase.IsSelected
getset

◆ ViewDispatcher

Dispatcher Bovender.Mvvm.ViewModels.ViewModelBase.ViewDispatcher
getset

Event Documentation

◆ PropertyChanged

PropertyChangedEventHandler Bovender.Mvvm.ViewModels.ViewModelBase.PropertyChanged

◆ RequestCloseView

EventHandler Bovender.Mvvm.ViewModels.ViewModelBase.RequestCloseView

Raised by the CloseView Command, signals that associated views are to be closed.


The documentation for this class was generated from the following file: