Daniel's XL Toolbox NG
XLToolbox.Excel.ViewModels.WorkbookViewModel Class Reference

View model for an Excel workbook containing a list of sheets (worksheets, charts) that can be managed (moved around, added, deleted, renamed). More...

Inheritance diagram for XLToolbox.Excel.ViewModels.WorkbookViewModel:
Collaboration diagram for XLToolbox.Excel.ViewModels.WorkbookViewModel:

Public Member Functions

int IndexOf (dynamic sheet)
 Finds the index of a given sheet (worksheet or chart sheet) in the Sheets collection. More...
 
 WorkbookViewModel ()
 
 WorkbookViewModel (Workbook workbook)
 
override object RevealModelObject ()
 Returns the model object that this view model wraps or null if there is no wrapped model object. More...
 
- Public Member Functions inherited from Bovender.Mvvm.ViewModels.ViewModelBase
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...
 
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...
 
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

void BuildSheetList ()
 
- Protected Member Functions inherited from Bovender.Mvvm.ViewModels.ViewModelBase
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

int NumSelectedSheets [get]
 
ObservableCollection< SheetViewModelSheets [get, protected set]
 
SheetViewModel ActiveSheet [get]
 
Message< MessageContentConfirmDeleteMessage [get]
 
Message< StringMessageContentRenameSheetMessage [get]
 
bool AlwaysOnTop [get, set]
 
string SheetsString [get]
 Concatenates the sheet names in the workbook. More...
 
IList< WorkbookPropertyProperties [get]
 
int PreferredPropertyIndex [get, set]
 
DelegatingCommand MoveSheetUp [get]
 
DelegatingCommand MoveSheetsToTop [get]
 
DelegatingCommand MoveSheetDown [get]
 
DelegatingCommand MoveSheetsToBottom [get]
 
DelegatingCommand DeleteSheets [get]
 
DelegatingCommand RenameSheet [get]
 
DelegatingCommand MonitorWorkbook [get]
 Monitors the current workbook by periodically checking the list of sheet names. More...
 
DelegatingCommand UnmonitorWorkbook [get]
 Stops monitoring the current workbook for changes in its sheet list. More...
 
DelegatingCommand CopyPropertyCommand [get]
 
Workbook Workbook [get, set]
 
- Properties inherited from Bovender.Mvvm.ViewModels.ViewModelBase
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...
 

Additional Inherited Members

- Events inherited from Bovender.Mvvm.ViewModels.ViewModelBase
EventHandler RequestCloseView
 Raised by the CloseView Command, signals that associated views are to be closed. More...
 
PropertyChangedEventHandler PropertyChanged
 

Detailed Description

View model for an Excel workbook containing a list of sheets (worksheets, charts) that can be managed (moved around, added, deleted, renamed).

Constructor & Destructor Documentation

◆ WorkbookViewModel() [1/2]

XLToolbox.Excel.ViewModels.WorkbookViewModel.WorkbookViewModel ( )
inline

◆ WorkbookViewModel() [2/2]

XLToolbox.Excel.ViewModels.WorkbookViewModel.WorkbookViewModel ( Workbook  workbook)
inline

Member Function Documentation

◆ BuildSheetList()

void XLToolbox.Excel.ViewModels.WorkbookViewModel.BuildSheetList ( )
inlineprotected

◆ IndexOf()

int XLToolbox.Excel.ViewModels.WorkbookViewModel.IndexOf ( dynamic  sheet)
inline

Finds the index of a given sheet (worksheet or chart sheet) in the Sheets collection.

Parameters
sheetWorksheet or chart sheet
Returns
Index of the sheet in the Sheets collection

◆ RevealModelObject()

override object XLToolbox.Excel.ViewModels.WorkbookViewModel.RevealModelObject ( )
inlinevirtual

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.

Implements Bovender.Mvvm.ViewModels.ViewModelBase.

Property Documentation

◆ ActiveSheet

SheetViewModel XLToolbox.Excel.ViewModels.WorkbookViewModel.ActiveSheet
get

◆ AlwaysOnTop

bool XLToolbox.Excel.ViewModels.WorkbookViewModel.AlwaysOnTop
getset

◆ ConfirmDeleteMessage

Message<MessageContent> XLToolbox.Excel.ViewModels.WorkbookViewModel.ConfirmDeleteMessage
get

◆ CopyPropertyCommand

DelegatingCommand XLToolbox.Excel.ViewModels.WorkbookViewModel.CopyPropertyCommand
get

◆ DeleteSheets

DelegatingCommand XLToolbox.Excel.ViewModels.WorkbookViewModel.DeleteSheets
get

◆ MonitorWorkbook

DelegatingCommand XLToolbox.Excel.ViewModels.WorkbookViewModel.MonitorWorkbook
get

Monitors the current workbook by periodically checking the list of sheet names.

This is a workaround for the absence of a "Workbook changed", "Sheet order changed" or similar event in Excel.

◆ MoveSheetDown

DelegatingCommand XLToolbox.Excel.ViewModels.WorkbookViewModel.MoveSheetDown
get

◆ MoveSheetsToBottom

DelegatingCommand XLToolbox.Excel.ViewModels.WorkbookViewModel.MoveSheetsToBottom
get

◆ MoveSheetsToTop

DelegatingCommand XLToolbox.Excel.ViewModels.WorkbookViewModel.MoveSheetsToTop
get

◆ MoveSheetUp

DelegatingCommand XLToolbox.Excel.ViewModels.WorkbookViewModel.MoveSheetUp
get

◆ NumSelectedSheets

int XLToolbox.Excel.ViewModels.WorkbookViewModel.NumSelectedSheets
get

◆ PreferredPropertyIndex

int XLToolbox.Excel.ViewModels.WorkbookViewModel.PreferredPropertyIndex
getset

◆ Properties

IList<WorkbookProperty> XLToolbox.Excel.ViewModels.WorkbookViewModel.Properties
get

◆ RenameSheet

DelegatingCommand XLToolbox.Excel.ViewModels.WorkbookViewModel.RenameSheet
get

◆ RenameSheetMessage

Message<StringMessageContent> XLToolbox.Excel.ViewModels.WorkbookViewModel.RenameSheetMessage
get

◆ Sheets

ObservableCollection<SheetViewModel> XLToolbox.Excel.ViewModels.WorkbookViewModel.Sheets
getprotected set

◆ SheetsString

string XLToolbox.Excel.ViewModels.WorkbookViewModel.SheetsString
get

Concatenates the sheet names in the workbook.

◆ UnmonitorWorkbook

DelegatingCommand XLToolbox.Excel.ViewModels.WorkbookViewModel.UnmonitorWorkbook
get

Stops monitoring the current workbook for changes in its sheet list.

◆ Workbook

Workbook XLToolbox.Excel.ViewModels.WorkbookViewModel.Workbook
getsetprotected

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