Skins and Themes

Starting from the PPJ Framework 2009 release we have added an advanced skin engine from Skin-Soft. The skinning engine has been embedded and integrated into the PPJ Framework and it's capable of skinning just about anything.

However, when skinning a migrated application that may use a user-define color scheme and may override Windows painting there may be problems with the skinning engine that may have to be resolved by cleaning up the application's code.

The skinner can be configured programmatically or by configuration file. Programmatically you can load skin files, remove or apply skinning to specific controls and forms, and tweak several low-level parameters to adapt the skinning process to your application. Using the external application's configuration file to configure skinning allows you to modify the application's skinning features without recompilation.


The skinning engine supports all newer versions of Windows with Visual Styles (XP Styles) as well as the older Windows 2000 and non-XP styles builds such as Windows Server versions or Windows XP configured with the Classic theme.

Skin Files

Skin files are regular XML files ending with the .vssf extension. We provide 23 skin files as part of the default installation and the 3 standard Office skins embedded as resources in the PPJ Framework. You can also use thousands of freely available XP Visual Styles (.msstyles files). See Skin Files.

Applies only to PPJ WinForms.

Theme Files

Theme files are regular JSON files using the format defined by the Wisej.NET Theme System. We provide several built-in theme. You can extend the existing themes or create new ones using the free Theme Builder application.

Applies only to PPJ Web.

Help and API

We have made the integration as simple as possible and exposed the original Visual Styler component to use advanced features. See Help and API.

Configuration and Settings

To enable skinning simply add SalApplication.SkinApplication = true to the Main method or prior to the creation of the first form. In alternative you can enable and control skinning by using the new settings App.config. See Configuration.

Last updated