WPF Client Container

The WPF Client Container is a standard C# WPF application.

The ShellViewModel class is the main class of the WPF Client Container. This class establishes a connection with the AB Suite system, loads and populates the Views from the Views assembly, and handles the menu and buttons available in the main window of the WPF Client Container.

The ShellViewModel class is a partial class that can be extended without changing the core definition of the class.

The main window is encapsulated in the Shell class (Window class). This window contains a toolbar, content presenter, and status bar. The toolbar contains icons and menus that you can use to open or close a session, run a report, and select a theme. The content presenter hosts the Views from the Views assembly. The status bar displays status text and error messages sent by the host application.

The startup sequence of the WPF Client Container is as follows:

  1. The WPF Client Container reads the configuration file (.rtxml) and instantiates the ShellViewModel and the Shell View classes during the application startup.

  2. The ShellViewModel class loads either the Direct or the Remote Connector assembly (based on the UseGateWay value in the configuration file).

  3. The ShellViewModel class registers for events sent by the Connector.

  4. The Connector loads the DataModel assembly and creates a session with the AB Suite system, and then allows the ShellViewModel to invoke the Fireup ispec, if it exists.

  5. The ShellViewModel class loads the Views and DataModels assembly and displays the Fireup ispec sent by the Connector after creating the session. If there is no Fireup ispec, it displays the Select Screen dialog box. If a session is not established, the application shuts down.

  6. The main window of the Container implements the Shell.xaml. All user interface Views from the Views assembly is hosted within the Shell.

  7. A user interface View from the Views assembly is bound to its corresponding DataViewModel. Data is copied into the DataModel before a View is displayed and is copied back into the DataModel before a Transmit.

Notes:

  • You can customize the Shell.xaml file (or any other window that appears in the Container) to change the look and feel of the WPF application.

  • All user interface Views can be handled through data binding and by binding the Shell View to the ShellViewModel.