Creating the ViewModel class
We created new classes to mirror the relevant parts of the Visio Type Library objects, and all of the Validation API objects and collections. We prefixed these wrapper classes with VE
for ValidationExplorer
, which is the project name. The next screenshot shows the files in the ViewModel
folder in the Solution window:
Note
When you select a folder in the Solution Explorer, then select Project, Add Class and so on, Visual Studio will automatically insert the folder name to the namespace of the class.
As the Visio objects are COM objects, you cannot bind directly to them successfully because XAML really needs to bind to dependency objects that can notify the UI of any changes that take place.
Therefore, we created a BaseViewModel
abstract class that implements the System.ComponentModel.INotifyPropertyChanged
interface; this will notify the client when property values are changed.
All of my wrapper object classes implement this base class. The wrapper collections implement...