As a consultant and Microsoft Client Development MVP, I get asked about the future of the Windows Presentation Foundation (WPF). They ask, “Is WPF Dead?” Let us look at some reasons why people might be thinking that. In no particular order:

Here is some insight into why it is not dead.

For those businesses wondering if they should use WPF for the line-of-business (LOB) apps, WPF is a perfectly good technology. I can’t predict the larger scale question of, “What is the future direction of client technologies?” I do know that WPF is not dead (it’s actively being worked on) and mobile is definitely still growing. I see use cases for apps in Windows Store, Windows Phone, WPF, iOS, Android and so on. It comes down to how much business value you get out of making any app and how it reaches your end users and/or customers.

Can Windows Store apps be LOB apps? Certainly! I’ve personally worked on several. I think in order to use WinRT for LOB apps, a bit of a mental shift in design is needed. It may also mean splitting your “enterprise app” into several apps. There are certain cases where WPF is more well suited because of its larger feature set, but don’t write off WinRT as a solution just because it’s a LOB app. Each app should be discussed for the business value. The technology used should help you achieve that value.

Please note that identifying as a Windows Store, WPF, Windows Phone or Silverlight developer is okay, but I feel a developer should really identify as knowing XAML, not one of those specific platforms. XAML is a common language across all of them and your skills port between those platforms. If you’re stressing out about these various platforms, shifting your outlook may help.

As I mentioned in a previous post, I have the honor of speaking at VSLive this December. I would like to give a little more background and detail about the one of the sessions: Going from Silverlight or WPF to Windows 8 Apps.

Over the past year I have had many discussions about the development options for WinRT, mostly focused on XAML/C# and HTML/JS. There has been concern about which stack developers should focus their skills, but I get the impression that it’s not a battle. If you already know XAML by either working in Silverlight, WPF or Windows Phone, you should heavily consider continuing to use XAML. With that being said, use the best tool for the job and don’t make it a religious war! I have also heard concerns about the apparent shift from Silverlight, but it is just a change in run-time. The technologies used to write Silverlight applications, XAML and C#, are still a major focus and will be for a long time.

That leaves many Silverlight and WPF developers looking to use their XAML and C# skills to make Windows 8 Store apps. I’m going to discuss this exact process, what to expect and provide my personal experience during my VSLive session. Spoiler alert: Your existing skills port nicely! I’ll dig into the async shift, new user experience features in Windows 8 and what it’s like to actually port an application. There are considerations like navigation, controls, app model, designing for touch, animations, transitions, visual states, file & storage APIs, and validation. None of those are deal breakers though. My process of getting into XAML was with WPF first, then Silverlight, then Silverlight for Windows Phone and now Windows 8 Store apps. Each step meant a different run-time and various platform adjustments. As anyone with time in our industry realizes, things change rapidly. This is just the next step in our learning process and I happen to be thoroughly enjoying creating Windows 8 Store apps.

If you’re interested in coming to my session and want to save $300 on @VSLive Orlando? Register before the Early Bird deadline on 11/7: http://bit.ly/VOSPK17Reg

I have the honor of speaking at VSLive Orlando from December 12-14th. I get to speak on two topics, which are

Going from Silverlight or WPF to Metro

So you learned Silverlight and WPF, but now Metro is the scene. Fear not! Those XAML and C# skills are extremely useful. Let Greg walk you through some of the changes when moving to Metro/XAML. Come see what additional considerations are needed for creating a Metro application. You know you’re curious to see if you can hit the ground running, so come see if that is indeed the case!

You will learn:
• What the breaking changes are from Silverlight and WPF to Metro/XAML.
• If your previous skills will pay off.
• What additional considerations need to be handled for Metro applications

Using Azure with Windows Phone and Windows 8!

With phones, tablets and other devices exploding in market share, it’s important to know what technologies and tools will help you develop better applications. These devices are often short on processing power and storage, which is where Azure can really help out. Come see what it’s like to use Azure with Windows Phone and Windows 8, including examples with push notifications, storage and authentication for both platforms and a Metro application using the Azure Service Bus.

You will learn:
• How to use Azure notifications with Windows 8 and Windows Phone
• How to use Azure storage with Windows 8 and Windows Phone
• How Metro applications can benefit from the Azure Service Bus

To get all of the information and register, please visit  http://bit.ly/VOSPK17

I hope to see you there!

I have found that having all projects expanded by default can be annoying, as I tend to open solution files when working in Microsoft Expression Blend.  This often leaves me having to collapse each project individually.  Within Visual Studio, I use PowerCommands for VS2010 and PowerCommands for VS2008 to provide the collapse-all functionality and it works great.

Since Blend 4 uses MEF, I set out on writing an extension to provide this functionality.  I learned how to begin with How to Hack Expression Blend.  The most helpful article I found was Building Extensions for Expression Blend 4 Using MEF by Timmy Kokke.  Following his startup example, I was able to use the debugger and figure out how to interact with Blend’s various parts.  I put forth some effort to have a dropdown menu or button added to the right of the Help entry, but I haven’t finished that exercise yet.  Ideally, I would like to have an entry added to the context menu of the Projects window when right-clicking on a solution or project file.  In the mean time, I have it working with a docking window.

Step 1: Installation

Download (DLL only):

Extract the extension DLL to the folder location “….Program Files (x86)Microsoft ExpressionBlend 4Extensions”.  You may have to right-click on the DLL and click the Unblock button.

Step 2: Using the Extension

After a successful installation, the Window dropdown menu should contain an entry for Collapse All Projects.  As you can see from the screenshot, I have configured the extension to use Ctrl+Shift+C as a shortcut.

Collapse All Projects Menu Entry

Once the menu item is selected, a popup window should appear.  This window is like the Projects, Properties, Assets, etc. windows within Blend, which means you can dock it.  I’ve chosen to dock it to the bottom as shown below.

Collapse All Project Window Docked

Hovering over the window shows the contents.  Simply click the button for the collapse all to be applied.

Collapse All Project Window Expanded

That is it!  If you find any bugs or issues with this, please let me know.  If you get around to making it a context menu item or as a main entry of the top dropdown menu, please share.

Tools Used:

  • Reflector
  • Snoop
  • I wanted to use Mole, but was developing in VS2010.  It doesn’t appear there is a compatible version yet.  Speaking of which, I would really like to see Mole for Silverlight.

Download the Source: