Parallels in WPF and WinForms Support - kaisu1986/ATF GitHub Wiki
This section shows similarities in WinForms and WPF platforms in application support.
Comparing the contents of similarly named namespaces in namespaces that begin with Sce.Atf
and Sce.Atf.Wpf
, such as Sce.Atf.Applications
and Sce.Atf.Wpf.Applications
, reveals they have similar or identically named classes and interfaces — with similar capabilities. For example, the previously mentioned namespaces both have CommandId
, ErrorDialogService
, LayoutContexts
, and StandardEditCommands
classes. Both have IControlHostClient
, ILayoutContext
, and IViewingContext
interfaces.
In general, to get the same functionality, your WPF application would use or implement the WPF version of the class or interface.
ICommandService
is the same on both platforms. Although each has their own CommandService
class that implements ICommandService
, both inherit from Sce.Atf.Applications.CommandServiceBase
.
DOM support is largely platform agnostic, too. The main difference is that WPF has its own DomRecorder
component, since this is a UI related component.
Some features are similar in both platforms, but provided in a different way.
For example, both platforms offer window docking. A WinForms ATF application uses WindowLayoutService
to implement a dock, but WPF's docking support is in the namespace Sce.Atf.Wpf.Docking
. Both platforms implement a distinct WindowLayoutServiceCommands
component, but both derive from the common Sce.Atf.Applications.WindowLayoutServiceCommandsBase
.