Prism – Composite Application Guidance for WPF and Silverlight – October 2009

This minor update of the Composite Application Guidance for WPF and Silverlight allows you to use the Composite Application Library with Silverlight 3. The following changes were implemented in this release:

  • All Visual Studio projects (Composite Application Library, reference implementation, and Quickstarts) were migrated to use Silverlight 3. If you do not want to upgrade to Silverlight 3, see Opening Projects with Silverlight 2.
  • TabRegionControlAdapter was modified to support binding in the TabItem‘s control header in Silverlight 3. This feature was present for Silverlight 2 but stopped working in Silverlight 3 due to a breaking change. It now supports both versions of Silverlight.
  • Implemented the WeakEvent Pattern for the DelegateCommand‘s and CompositeComand‘s CanExecuteChanged event to fix a possible memory leak in the applications using the Composite Application Library commands. For more information, see Composite Application Library Command Memory Issues and Solution.
  • CreateXap.bat file was modified to search for Silverlight 3 assemblies if the Silverlight 2 reference assemblies cannot be found. This is to support the infrastructure required to run the Composite Application Library unit tests. Applications already using the library will not be affected

Download details: Composite Application Guidance for WPF and Silverlight – October 2009

MVC or Web Forms? A Dying Question


Everyone who talks about ASP.NET MVC gets asked the question:

    Should I use MVC or Web Forms?

There’s been quite a bit of debate on this topic, but in a couple years I don’t think it will matter.

twin cars

and the stories continues here MVC or Web Forms? A Dying Question until …


The question in the next decade won’t be: “MVC or Web Forms?”.

The question will be: “MVC or SharePoint?

But nobody will ask the question, because the answer is easier to figure out.


What Community Means to Me


  • Community Means Connecting, not Credentials
  • Community Means Constantly Congregating and Chatting
  • Community Means Crazy Chaos, Not Calm Continuity
  • Community Means Creativity, Not Coordination and Control
  • Community Means Concepts, Not Contracts
  • Community Means Crediting Contributors
  • Community Means Choices, Not Clear-Cut Consensus
  • Community Requires Championing Choices

Read more –> What Community Means to Me | Brent Ozar – SQL Server DBA

Windows 7 Development Resources


Get Windows 7 and the SDK



Virtual Machine


A 26-part series of Business Apps Example for Silverlight 3 & .NET RIA Services July Update

By Brad Abrams, this demo requires:

  1. VS2008 SP1 (Which includes Sql Express 2008)
  2. Silverlight 3 RTM
  3. .NET RIA Services July ’09 Preview

download the full demo files and check out the running application.

Also check out the author’s Mix09 talk “building business applications with Silverlight 3”.

Part 1: Navigation Basics

Part 2: Rich Data Query

Part 3: Authentication

Part 4: SEO, Export to Excel and Out of Browser

Part 5: Astoria, Add Service Reference and WinForms

Part 6: Data Transfer Objects (DTOs)

Part 7: ADO.NET Data Services Based Data Store

Part 8: WCF Based Data Source

Part 9: POCO and Authentication Provider

Part 10: LinqToSql

Part 11: The Client-Only World

Part 12: DataSet

Part 13: The New Class Library Project

Part 14: Visual Basic (VB) and WPF Support

Part 15: ASP.NET MVC

Part 16: Exposing a WCF Service

Part 17: Evolving an Application

Part 18: Custom Linq Provider

Part 19: ASP.NET Dynamic Data

Part 20: NHibernate

Part 21: Hierarchical Data

Part 22: Separate Solution Files

Part 23: Azure

Part 24: Stored Procedures

Part 25: ViewModel

Part 26: Authentication and Personalization

Via Brad Abrams : Index for Business Apps Example for Silverlight 3 RTM and .NET RIA Services July Update

A 10 parts Expression Blend 3 Tutorial for Silverlight

This series of articles were written by Adam Kinney

1. Drawing an emoticon in Expression Blend
First steps in getting to know the tools and workspace in Blend

2. Element Transformations
Learn to use Scale, Rotate, Skew and 2.5D Transformations

3. Get Started with Animation
A Quick Overview on Creating Time-Based Animations

4. Playing Video with the MediaElement
Using the flexible MediaElement control as a reusable Surface

5. Arranging Pictures to Learn Layout
Use the Grid, StackPanel, ScrollableViewer and Border to position Images

6. A Look at Text in Silverlight
Learn about Displaying Text, Font Properties and Embedding Fonts

7. Import an Adobe Photoshop File into Blend
Convert the assets from a Photoshop file into Interactive Controls

8. Styling and Skinning Controls
Customize the Look by Setting Properties and Building Templates

9. Styling and working with Design-Time Data
Explore how Templates and Bindings are used to display dynamic data

10. Giving Behaviors a Test Drive
A brief overview and walkthrough of the Behaviors included with Blend



31 Days of Refactoring


Refactoring is an integral part of continually improving your code while it moves forward through time. Without refactoring you accrue technical debt, forget what portions of code do and create code that is resistant to any form of testing. It is an easy concept to get started with and opens the door to much better practices such as unit testing, shared code ownership and more reliable, bug-free code in general.

Day 1 : Encapsulate Collection

Day 2 : Move Method

Day 3 : Pull Up Method

Day 4 : Push Down Method

Day 5 : Pull Up Field

Day 6 : Push Down Field

Day 7 : Rename (method, class, parameter)

Day 8 : Replace Inheritance with Delegation

Day 9 : Extract Interface

Day 10 : Extract Method

Day 11 : Switch to Strategy

Day 12 : Break Dependencies

Day 13 : Extract Method Object

Day 14 : Break Responsibilities

Day 15 : Remove Duplication

Day 16 : Encapsulate Conditional

Day 17 : Extract Superclass

Day 18 : Replace exception with conditional

Day 19 : Extract Factory Class

Day 20 : Extract Subclass

Day 21 : Collapse Hierarchy

Day 22 : Break Method

Day 23 : Introduce Parameter Object

Day 24 : Remove Arrowhead Antipattern

Day 25 : Introduce Design By Contract Checks

Day 26 : Remove Double Negative

Day 27 : Remove God Classes

Day 28 : Rename boolean methods

Day 29 : Remove Middle Man

Day 30 : Return ASAP

Day 31 : Replace Conditional with Polymorphism

You can find all of the sample code available for download here:

Via 31 Days of Refactoring – Sean Chambers – Los Techies : Blogs about software and anything tech!

Running IronPython Scripts from a C# 4.0 Program


Running IronPython Scripts from a C# 4.0 Program

Before you read this you may want to check out my other post.

IronPython is a scripting language hosted on the .NET platform. This posts shows how you can use the Dynamic Language Runtime (DLR) and the new C# 4.0 dynamic keyword to call an IronPython script from a C# program.


import sys

def Simple():
    print "Hello from Python"
    print "Call Dir(): "
    print dir()
    print "Print the Path: " 
    print sys.path


using System;
using IronPython.Hosting;
using Microsoft.Scripting.Hosting;

public class dynamic_demo
    static void Main()
        var ipy = Python.CreateRuntime();
        dynamic test = ipy.UseFile("");


Via Charlie Calvert’s Community Blog : Running IronPython Scripts from a C# 4.0 Program