Infragistics recently released the NetAdvantage for Composite Application Library (NCAL) on CodePlex. NCAL enables Infragistics WPF controls to be used in a composite application, based on Microsoft’s Composite Application Library. At this time, the library offers a region adapter for XamDockManager, a sample composite application that uses NCAL, a Quick Start document, and a suite of unit tests that can be used to review the classes it contains.
A composite application consists of independent modules of functionality that are hooked together at run time by an application framework, such as CAL. Each module can inject a View (i.e. a user interface of some kind) into a window of the shell application. The modules can communicate with each other via services registered with the application framework, and subscribe to events with an event broker. This is a popular architecture for large-scale applications built by geographically dispersed teams.
In order for a WPF control to be used in a composite application based on CAL, there must be a region adapter registered for it. Region adapters act as a layer of indirection between the CAL framework and UI controls, allowing a control to be used in a generic fashion by the framework. For example, when CAL adds a View to a Region, the region adapter for XamDockManager must add the View control to an Infragistics docking window. When the user closes the docking window, the region adapter must tell CAL to remove the View from the Region. In this sense, a region adapter keeps a UI control in sync with the state of CAL’s object model.
Composite applications usually have a large number of Views to display in the user interface. A popular way to organize these views is to put them into docking windows, as seen in Visual Studio. XamDockManager provides that frequently needed functionality, which is why we built a region adapter for it first. The NCAL solution contains a sample application which consists of several modules and a shell project, showing the XamDockManagerRegionAdapter in use. If you are interested in using NCAL, be sure to read the Quick Start document, also included in the NCAL solution, because it explains everything you need to know to get started.
If you are building composite applications in WPF, I hope you find NCAL useful. We encourage you to give us your feedback and thoughts about the library!
- Download the latest source code drop on the Source Code page
- Start a discussion, or ask a question, about NCAL on the Discussions page
- Report a defect on the Issue Tracker page