I believe that the correct answer is not for WPF at all, but it may correspond to what you are looking for.
In most cases, when you want to use new technology, the time while you are inefficient, productive, and your decisions are not so impressive, but innovative or just not like the others.
Which will give you more efficiency, works with WPF itself.
This is more about project management than programming. After completing the project, your team, and you should go to some room and discuss:
- Success stories.
- Problems during development.
- Advantages and disadvantages.
- Crash in application architecture.
- Communication problems in team and client.
- ... etc.
If everyone shares their knowledge, the project manager or team leader will document the history of each project well, and finally, everyone will have a know-how.
In addition, it is important that you do not need to reinvent the wheel for each new project: if some template worked fine, do the same next time, even if this is not the best way to do it. And try to improve it, if possible.
Design patterns, technologies, paradigms, languages, companies, colleagues, and nothing are a silver bullet: Microsoft has stated that WPF is a step forward in developing Windows client development, and that is: a more modern approach to providing shinny user interfaces and a programming paradigm that fits to today's "desired" approaches, weakening the relationship between coders and designers, since WPF has XAML, which allows not only to separate problems, but also to divide professionals into areas (designers, UI programmers, business programmers ...).
Finally, as I said above, WPF will not be your silver bullet: learn from your own success and read a lot, see application examples, download open source solutions, listen to your colleagues, drink coffee and, after some headaches, someday in the near future you will use these technologies (and many others).
EDIT
I would like to add that a good way to use the know-how is to create a Visual Studio manual, so you can automate many tasks, such as creating managers, views, models, and other things, only in the sense that the team will do it manually.
For example, you can create a package of instructions for a WPF-like application, and you can automate the creation of a module. When you want to add a new module, the instruction package starts a process that adds all the necessary classes to start the development of this new module and can create a form sample that is already associated with a navigation manager, controller or any other (this is just an example).
An instruction package and T4 would be good tools for automating tedious or repetitive tasks in everyday tasks: