Skinning refers to the act of changing an application’s appearance at run time, often as a result of a choice by the end-user. WPF does not have a distinct concept as a skin, nor does it have a formal notion of skinning. That’s okay. All you need to do is use WPF’s dynamic resource mechanism. Combine these technologies: resources, styles and/or templates.
Assuming that your project is one that does not execute a complete user interface replacement, the best approach, according to Adam Nathan, is to make a ResourceDictionary the root of a skin representation.
User Interface
You could use a drop-down combo box to let the end-user choose their skin. Under that you could have a few example controls do demonstrate how that would look. You could put this in a custom dialog that has an OK and Cancel button.