Developer’s Guide to Microsoft Prism 4.0

The documentation for Prism 4 has been completely rewritten and includes the architectural overview, design, and technical concepts for composite applications, applied patterns, two chapters covering Model-View-ViewModel (MVVM), application navigation, Stock Trader Reference Implementation (Stock Trader RI) and MVVM Reference Implementation (MVVM RI) overview, QuickStart overviews, and deployment topics. Much of this guidance is applicable even if you are not using the Prism Library, but you want to know best practices for creating composite applications

Prism 4.0 – November 2010

The guide contains the following topics:


Class Library References:

Desktop Class Library

Phone Class Library

Silverlight Class Library

Windows Phone 7 Design Templates in Xaml


Here is a Expression Blend project for sharing XAML based resources for creating consistent Windows Phone 7 user experiences. The templates are based on the UI Design and Interaction Guide for Windows Phone 7 and Design Templates for Windows Phone 7 (a collection of 28 layered Photoshop template .pdf files and the Segoe WP font family for use in application layouts and UI development). With these templates you can easily create common Windows Phone UI layouts by simply copying and pasting the desired page. The Blend team has taken care of the margins, styling, and custom controls that may not be available in the platform.

With Expression Blend, open the project and the WP7 Design Templates.xaml and MainPage.xaml pages should be opened by default. The WP7 Design Templates.xaml page displays all of the available templates in one page. By running the project (F5), you can browse through all of the available templates via the Windows Phone 7 Emulator.


You can download the templates here …

CSS Tutorials – Introduction To CSS Basics


A collection of 21 FAQs/tutorials tips on CSS (Cascading Style Sheets) basic. Clear answers are provided with tutorial exercises on CSS syntax basics, contextual, class, and id selectors, CSS cascading order rules, grouping CSS definitions, browswer default CSS definitions Topics included in this collection are:

  1. What Is CSS (Cascading Style Sheets)?
  2. What Is the Basic Unit of CSS?
  3. How Many Ways to Attach CSS to HTML Documents?
  4. How To Include CSS Inside a HTML Tag?
  5. How To Include CSS Inside the HEAD Tag?
  6. How To Store CSS Definitions in External Files?
  7. How Many Ways to Select HTML Tag Instances?
  8. What Is a Class Selector?
  9. What Is a ID Selector?
  10. What Is a Contextual Selector?
  11. What Is a Group Selector?
  12. What Is a Mixed Selector?
  13. What Are the Pseudo Classes on <A> Tags?
  14. How To Group CSS Definitions Together?
  15. What Is Style Property Inheritance?
  16. What Is CSS Cascading?
  17. What Are the CSS Cascading Order Rules?
  18. How To Remove the Top White Space of Your Web Page?
  19. How To Set Different Text Fonts Inside Tables?
  20. How To Use Class Selectors to Differentiate Tag Instances?
  21. How To Use IDs to Override Classes?

Answers: CSS Tutorials – Introduction To CSS Basics ‘s 1000 Silk icons


Silk web icon set, with 1000 16×16 icons , including report icons, some new picture icons, some small XHTML/CSS buttons, and some hardware drive icons. The feed icons have been brought into line with new standard, and all icons have been compressed to lower the filesize. For the sake of my inbox and my sanity, I’m now calling this set complete.

Silk icon: Form
Silk icon: Address Book
Silk icon: Webcam
Silk icon: Valid CSS
Silk icon: Camera
Silk icon: Date
Silk icon: Exit
Silk icon: CD Drive
Silk icon: Feed
Silk icon: Lorry/Truck
Silk icon: Map
Silk icon: Add picture
Silk icon: Pictures
Silk icon: Report
Silk icon: Telephone

View all icons (.png file, 1Mb) Home

Jason Dolinger Model-View-ViewModel Screencast


Jason Dolinger’s a presentation on design in WPF(also applicable to Silverlight) with the Model-View-ViewModel pattern and the Unity dependency injection framework.

Jason started with an application that one would write in a “traditional” way, with button clicks handled by event-handlers in the code-behind that then updated other parts of the UI. Using WPF data-binding, Commands, and Unity, he transformed it, piece by piece, in a much more manageable, encapsulated, readable, and testable M-V-VM design. It was awesome.

 Screencast here.

Traditional way 6:00 – 13:00
MVP 13:30 – 17:00
MVVP     Overview 17:17 – 22:00
        Impl 22:30
        ViewModel 23:26
        ICommand 45:15
        Unit Test 51:30
        Moq Mocking Framework the DataSource 52:43 – 57:30
        Dependency Injection – Unity – App.xaml 57:45 – 1:09:45
        Static Data display in Expression Blend 1:10:15
        Create a Row-level ViewModels for Grid & ItemSources control 1:15:50

Note: Jason creates ViewModels that are DependencyObjects. However,DataContexts in Silverlight cannot be DependencyObject descendants. That means that you need to implement ViewModels as INotifyPropertyChanged.

Silverlight does not support bindings for Commands out of the box. It does, however, expose the ICommand interface. With just a little bit more work using an “Attached Behavior” approach, we can get the kind of Commanding that Jason uses in Silverlight as well. Check out the description here.

Via Jason Dolinger on Model-View-ViewModel » Lab49 Blog