Expression Blend

Microsoft Expression Blend

Session material from TechDays BE and NL

UPDATE: Added the videos Note: Like all material on this blog, this blog post and all the referenced material are licensed under the Creative Commons Attribution 3.0 Unported license. You are free to reuse material from this post and from the referenced material, but you must attribute this material to me, and link to this blog post, or to my website. Thanks! I had the chance to be invited again to speak at TechDays in Belgium (Antwerp) and in the Netherlands (The Hague), and delivered 3 sessions ......

2012 in review

It seems it was only yesterday that I was writing about starting my 4th year at IdentityMine, and here we are now, more than a year later. The year 2012 has been particularly interesting for all of us in the tech space, and particularly for us who are observing the Microsoft brand. Now, those of you who know me also know that I am an undying optimist (something that is sometimes mistaken for fanboism), so I will make a big effort in adding a dose of realism into this billet. Nonetheless I think we ......

A fix for the design time error in MVVM Light V4.1

For those of you who installed V4.1 of MVVM Light and created a project for Windows Phone 8, you will have noticed an error showing up in the design surface (either in Visual Studio designer, or in Expression Blend). The error says: “Could not load type ‘System.ComponentModel.INot... from assembly ‘mscorlib.extensions’” with additional information about version numbers. Read the rest of this entry » ......

Oredev 2012: Summary and source code

This week, I had the pleasure to be invited to talk at Oredev, a really cool conference taking place in Malmo, Sweden. The whole event is awesome, including a very special dinner on Monday including sauna and swimming in a 6 degrees cold Baltic sea, and a reception with dinner at the town hall, including the mayor himself. Considering Malmo is a town of 300'000 inhabitants, it is a pretty nice occasion and the historical building itself is really worth seeing. For those interested, I placed my pictures ......

MVVM Light V4.1 with support for Windows Phone 8

Today is a very exciting day: After the official release of Windows 8 (and Microsoft Surface!) on Friday, and the official release of Windows Phone 8 on Monday, the Build conference is starting! This is the conference in which we will learn all about the developer experience for Windows 8 and Windows Phone 8. As a partner of Microsoft, I had the privilege of trying out some of the new things early, and this gave me the opportunity to port MVVM Light to Windows Phone 8 (it was already running for ......

“Using the MVVM pattern in Windows 8” in MSDN Magazine

These days I am swimming in Windows 8 code, and I must say it is a good feeling. This gives me the occasion to push MVVM Light and a few other components of mine to their limits, and to fix or improve a few things on the fly. All this goodness will be available in V4.1 which is scheduled shortly after Windows 8 launch. In spite of the busy schedule, I couldn’t resist writing an article for MSDN magazine about, you guessed it, the MVVM pattern and MVVM Light in Windows 8. It is an article that goes ......

Adventures in Windows 8: Understanding and debugging design time data in Expression Blend

One of my favorite features in Expression Blend is the ability to attach a Visual Studio debugger to Blend. First let’s start by answering the question: why exactly do you want to do that?

Read the rest of this entry »

Adventures in Windows 8: Placing items in a GridView with a ColumnSpan or RowSpan

Currently working on a Windows 8 app for an important client, I will be writing about small issues, tips and tricks, ideas and whatever occurs to me during the development and the integration of this app. When working with a GridView, it is quite common to use a VariableSizedWrapGrid as the ItemsPanel. This creates a nice flowing layout which will auto-adapt for various resolutions. Read the rest of this entry » ......

#mvvmlight V4 update for Win8 RTM

With Windows 8 RTM out of the doors (at least for some of us), it was also time to create an update to MVVM Light. I selected the V4 RTM to do this (V4.0.23).This RTM version was released a few weeks ago with no much bells and whistles because I was just too busy to write much about it. Now after some vacation, I will resume blogging on all my favorite topics including of course MVVM Light. Read the rest of this entry » ......

Celebration! 120’000 downloads for #mvvmlight, 2 copies of Expression Studio to win

That is a symbolic milestone: Last week, MVVM Light reached the bar of 120’000 downloads on http://mvvmlight.codeplex.com, the site that has been hosting source and installers since the beginning of the project (100'000 downloads) and on Nuget, the popular package manager for .NET (20'000 downloads). More information about Nuget and MVVM Light. Read the rest of this entry » ......

Slides and source code for my past talks this year

I had the chance to be invited to talk at various conferences this year already, and I promised to post the slides and source code, so here it is!

Read the rest of this entry »

Impressions, slides and code from TechDays Belgium and Netherlands

Update: Posted the video of “MVVM Applied” below.

This week I was “on tour” in Belgium and Netherlands and presented 3 times:

Read the rest of this entry »

Screenshots of my #mvvm demo at #techdaysbe

Today I gave a talk in TechDays in Belgium about MVVM in Silverlight 5, Windows Phone 7 and Windows 8. This was the first time I gave that particular talk, and in addition keep in mind this is a developer preview, meaning that it is not finished, and not always stable.

Read the rest of this entry »

Detecting design mode in Windows 8/WinRT

One of the very useful features of the MVVM Light toolkit is to help with the creation of design time data, in order to give something to see on the design surface (Expression Blend, Visual Studio designer). This is especially useful when designing list controls such as ListBox, ComboBox, etc. Without design time data, these controls will remain empty, and the designer will not see what he is working on. This can cost a lot of time and cause frustration. Read the rest of this entry » ......

MVVM Light V4 beta1

This morning, I published MVVM Light V4 beta1 in the form of an MSI. The installation instructions are detailed on the MVVM Light installation page. Please make sure to uninstall previous versions before you install V4 beta1. There are quite a few changes in this version, and I plan to blog about various features in the coming days. As usual, stay tuned! Read the rest of this entry » ......

MVVM light V3 installer for non-English systems

After I released the MVVM Light installer, I got a note saying that parts of the installation failed on non-English systems (in that case a German installation of Expression Blend and Visual Studio). Specifically, what failed was the code snippets on Visual Studio, and the project and item templates in Expression Blend. Read the rest of this entry » ......

Automated installer for MVVM Light V3!

For a very (too) long time, the installation procedure for MVVM Light sucked. It involved downloading and unzipping files in various locations. Unfortunately, creating an automated installer is not completely trivial because of the variety of files that are getting installed: Binaries, Code Snippets, Project and Item Templates, all require different locations, and all that for VS2008, VS2010, Blend 4 and Silverlight 3, Silverlight 4, WPF3.5 SP1, WPF4, WP7.0 and now WP7.1 “Mango”. Read the rest of ......

Is your application powered by #mvvmlight?

A couple of days ago I had the wonderful surprise to find a mention (and a link!) to MVVM Light on USAToday.com. The article talks about the new USA Today app available for Windows Phone 7. MVVM Light is mentioned as well as JSON.NET just after the high quality of the development tools is mentioned: “That same high bar for tools extends into the community as well. MVVM Light and JSON.Net were extremely useful moving past mundane tasks and instead getting to the business of building our app.” – Tim ......

My Swiss TechDays presentations sample code

I published the sample code from my presentations about Windows Phone 7 at TechDays Switzerland. I also published the Powerpoint slides on Slideshare (Windows Phone 7 Overview / Windows Phone 7 Deep Dive). One of the talks is available as a video on Channel 9. I expect the other one to be made available soon, stay tuned for an update. Read the rest of this entry » ......

MVVM Light V4 preview 3 (BL16, MIX11 edition!!) #mvvmlight

At MIX11, I am releasing a new preview of MVVM Light version 4. This new preview contains one small change and one large change.

Read the rest of this entry »

Deep Dive MVVM samples #mix11 #deepdivemvvm

Here is the sample code I demoed in my MIX11 session “Deep Dive MVVM”. Please download the Zip file, and then unblock it in Windows Explorer by right-clicking it, and then selecting Properties. If you see an “Unblock” button, please click it. You can then extract the content of the Zip file on your hard drive. Read the rest of this entry » ......

My MVVM talk’s material is online (#uktechdays)

Quick announcement: I just had the extreme pleasure to talk at the UK TechDays online conference (organized over LiveMeeting) and had about 100 persons in the session, thanks to all for allowing me to talk to you about MVVM! I just pushed the whole sample code as well as the slides to a SkyDrive folder, so feel free to download and experiment. Read the rest of this entry » ......

With WPF and Silverlight against cancer

MVPs are well known for their good heart (like the GeekGive initiative shows) and Client App Dev MVP Gregor Biswanger is no exception. At the latest MVP summit (beginning of March 2011), he took over a DVD about WPF 4 and Silverlight 4 and asked a few Microsoft superstars to sign it. Read the rest of this entry » ......

MVVM Light V4 preview (BL0014) release notes

I just pushed to Codeplex an update to the MVVM Light source code. This is an early preview containing some of the features that I want to release later under the version 4. If you find these features useful for your project, please download the source code and build the assemblies. I will appreciate greatly any issue report. Read the rest of this entry » ......

My proposals for the #MIX11 open call

Vote for: “Deep Dive MVVM” Vote for: “Exploring a Blendable Windows Phone 7 Application” Read the rest of this entry » ......

Silverlight User Group of Switzerland (SLUGS)

Last Thursday, the Silverlight Firestarter event took place in Redmond, and was streamed live to a large audience worldwide (around 20’000 people). Approximately 30 if them were in Wallisellen near Zurich, in Microsoft Switzerland’s offices. This was not only a great occasion to learn more about the future of Silverlight and to see great demos, but also it was the very first meeting of the Silverlight User Group of Switzerland (SLUGS). Read the rest of this entry » ......

MVVM Light Hotfix for Windows Phone 7 developer tools RTM

This is a hotfix to correct the issues with the MVVM Light templates for Windows Phone 7.

Read the rest of this entry »

How to use the MultiTouch Behavior for Windows Phone 7

Yesterday, I published the source code of the MultiTouch Behavior for Windows Phone 7 on Codeplex (http://multitouch.codeplex... Meanwhile, Davide Zordan (the founder of this project) started to modify the Silverlight 4 version of the behavior to make it API compatible. Eventually, the goal is to share all the API signature, and as much code as possible. We would like to extend this to the WPF version as well, in order to have a consistent landscape of multitouch on all 3 platforms. Read the rest ......

Silverlight 4 Unleashed table of content

As I am reaching the end of the writing phase of Silverlight 4 Unleashed (to be published at Sams), I thought I would give a little more information about this book.

Read the rest of this entry »

Windows Phone 7 multitouch behavior: beta testers needed (#wp7dev)!

I finished implementing version 0.1/beta1 of a multitouch behavior for Windows Phone 7 and need beta testers.

Read the rest of this entry »

Handling DataGrid.SelectedItems in an MVVM-friendly manner

An interesting question from one of the MVVM Light users today: Is there an MVVM-friendly way to get a DataGrid’s SelectedItems into the ViewModel? The issue there is as old as the DataGrid (that’s not very old but still): SelectedItem (singular) is a DependencyProperty and can be databound to a property in the ViewModel. SelectedItems (plural) is not a DependencyProperty. Thankfully the answer is very simple: Use EventToCommand to call a Command in the ViewModel, and pass the SelectedItems collection ......

Be careful when installing the Blend Windows Phone 7 Add-In

There was a small issue today with the release of the Windows Phone Developer Tools CTP (April 2010 Refresh) refresh. The issue is that the Expression Blend Add-in Preview for Windows Phone (April Refresh) is not compatible with Blend 4.0.20408.0, which was the public RC (release candidate). Read the rest of this entry » ......

Crowdsourcing MVVM Light Toolkit support

Considering the number of emails that are sent to me asking for support for MVVM Light toolkit, I find myself unable to answer all of them in sufficient time to make me feel good. In consequence, I started to send the following message in response to support queries, either per email or on the MVVM Light Codeplex discussion page. Read the rest of this entry » ......

Small change in MVVM Light Toolkit templates for Blend 4 RC

Ah, the joy of new releases… You will find that the MVVM Light Toolkit works fine with Visual Studio 2010 RTM and Blend 4 RC except for a few adjustments:

Read the rest of this entry »

MVVM Light Toolkit V3 SP1 for Windows Phone 7

He he I start to sound like Microsoft… Anyway… I just released a service pack (SP1) for MVVM Light Toolkit V3. Why? Well mostly because I worked a bit more with the Windows Phone 7 tools that were released at MIX0, and I noticed a few things that could be better in the Windows Phone 7 template. Also, I only found out at MIX that you can actually install custom project templates for Visual Studio Express. For some reason I thought it was not possible. Read the rest of this entry » ......

Sample code and slides for my TechDays10 (Belgium) talks

The source code for my MVVM talk titled “Understanding the MVVM Pattern” given at TechDays 2010 in Antwerpen, Belgium, is available online. It is actually the same code than the MIX10 one, but I added the Windows Phone 7 MVVM Light application (available in the folder titled “Mix10.MvvmDemo2-End”. Read the rest of this entry » ......

Sample code for my #mix10 talk online

I just saw that the video for my MIX10 session is online already! Impressive work, MIX10 team. I also published the sample code on my web server, so here are the links:

Read the rest of this entry »

What’s new in MVVM Light V3

V3 of the MVVM Light Toolkit was released during MIX10, after quite a long alpha stage. This post lists the new features in MVVM Light V3.

Compatibility

MVVM Light Toolkit V3 can be installed for the following tools and framework versions:

Read the rest of this entry »

MVVM Light V3 released at #MIX10

During my session “Understanding the MVVM pattern” at MIX10 in Vegas, I showed some components of the MVVM Light toolkit V3, which gave me the occasion to announce the release of version 3. This version has been in alpha stage for a while, and has been tested by many users. it is very stable, and ready for a release. So here we go! Read the rest of this entry » ......

My program at #MIX10

Getting ready to fly to Vegas and MIX10 is really an exciting time! It is also a very busy time, because we are working on a few projects that will be shown on stage, I have my presentation to prepare, and of course as always the book… though these days it has been a bit on the back burner to be honest ;) I arrive in Vegas on Sunday evening around 10PM, so I won’t be able to make it to the traditional IdentityMine dinner this year. I am sure it will be fun nonetheless! Read the rest of this entry ......

Schedule for my session at MIX10

Microsoft has published the schedule for the MIX10 sessions. I have a sweet spot, and I dearly hope that it stays this way (Last year I had a great spot, but it was changed last minute and then I had a much better one, “competing” against Vertigo and their Playboy app… yeah try to explain to a bunch of geeks that MVVM is better than Playboy… good luck with that ;) Anyway, this year my sweet spot is on the very first day of the conference (there are workshops on Sunday, but this qualifies as pre-conference), ......

Quick tip: Commenting out properties in XAML

Often when you write XAML, you wish you could ignore a property temporarily. In code, it is easy to do: Just comment out the line where the property is set, and you are good to compile.

Read the rest of this entry »

The MVVM landscape at MIX10

Update: Shawn Wildermuth has changed his session and will be talking about Silverlight Security instead. The MIX conference this year had an open call for sessions, and 12 sessions were voted by the public out of 169. Surprisingly (or maybe not that surprisingly in fact), 3 sessions out of the 12 have the MVVM pattern in their title. This shows a lot of interest for this pattern which is helping the developer to create decoupled, testable, blendable applications in Silverlight and in WPF. Read the ......

Talking in Las Vegas: MIX2010 and MVVM

This morning, very early (or very late depending how you see it), I learned that one of the sessions I submitted to the MIX 2010 open call for speakers had been picked by the public. Out of 169 sessions, only 12 were picked, so you imagine my feelings right now. Honestly, I am sure that this will be a good session, but it could have gone either way, and I had prepared myself mentally for the alternative possibility too. Read the rest of this entry » ......

MIX 2010: Voting for sessions has begun (I got two)

This year Microsoft decided to have an open call for sessions for the MIX 2010 in Las Vegas. This conference, in case you don’t know it yet, is a great 3 days about modern client technologies, such as ASP.NET, Windows Presentation Foundation and of course Silverlight. This year, MIX is taking place from the 15th to the 17th of March 2010 in the Mandalay Bay hotel in Vegas. Today, the voting began! I didn’t count them, but there seems to be more than 100 sessions lined up, and the competition is fierce: ......

Silverlight 4: Drag&drop with EventToCommand

One of the MVVM Light Toolkit’s user requested that I add the possibility to pass the EventArgs of an event to the ICommand that it is bound to through the EventToCommand trigger. At first I was a bit reluctant because it seems like a transgression of the rule that says you should avoid to have too much knowledge about the UI layer in the ViewModel. For example, if you have a RelayCommand in the ViewModel that expects a MouseEventArgs, it kinds of binds you to a certain kind of UI element, which ......

MVVM Light V3/alpha3 for Blend 3 and Blend Preview 4

The project and item templates allowing you to create pre-wired MVVM Light applications are now also available for Expression Blend 3 and Expression Blend Preview for .NET 4 and Silverlight 4. The installation process is manual, but not difficult at all (unzipping a few files to predefined paths). I did document the installation process here. Read the rest of this entry » ......

MVVM Light Toolkit V3 Alpha 3 for WPF4/SL4

Update: The templates are also available for Expression Blend 3 and Expression Blend Preview for .NET 4 and Silverlight 4. I just published the latest alpha version of the MVVM Light Toolkit. I will post more about the new features in this alpha version, but the most exciting is probably that with this release, the MVVM Light Toolkit works in Windows Presentation Foundation 4 and in Silverlight 4 (in Visual Studio 2010). Read the rest of this entry » ......

My talk at #notatpdc postponed

Hey guys, I am really sorry for having to postpone my talk about Expression Blend 3 and SketchFlow. We had some huge difficulties with the NotAtPDC.com website, and unfortunately we were not able to locate the site administrator on time to solve the issue. Without a speaker login, I was able to talk to the attendees, but not share my desktop. Now I love to talk about Blend but I love even more to show Blend ;) Read the rest of this entry » ......

Talking at #notatpdc about Blend 3 and SketchFlow

NotAtPDC is an awesome initiative from within the .NET community that allows people who cannot for any reason attend one of the major conferences (such as PDC, MIX etc…) to share knowledge, have fun, interact and generally have all kind of good times without leaving their home or office. This year, I cannot make it to the Professional Developer Conference because of multiple reasons (too much work, too many travels ;)) but I will talk to the NotAtPDC conference 2009! Read the rest of this entry » ......

Bug correction in Messenger and new feature in EventToCommand (MVVM Light Toolkit V3 alpha)

Update (11/14/2009): The sample application is available as a zip file, and I also published the Silverlight version to be executed directly in your browser. The advantage of pushing very early software to the advanced users is that bugs are detected before too many people suffer from them, and features requests can be placed and implemented without pain. This is exactly what happened with the MVVM Light Toolkit V3 alpha 2. Read the rest of this entry » ......

MVVM Light Toolkit Logo by P. Schutz

I met Philippe Schutz at the TechDays in Geneva early this year, and have been following him on Facebook since then. He does amazing work with logos and icons, and it is only natural that I have thought of him when I decided to get a new logo and icons for the MVVM Light Toolkit. A brand identity is quite important to me even in private projects. This is why I created the site GalaSoft (www.galasoft.ch) years ago, and started using this “brand” consistently as well as the cat logo (more about that ......

MVVM Light Toolkit V3 Alpha 2: EventToCommand behavior

Update (11/14/2009): I updated EventToCommand with a new feature: You can now pass the EventArgs of the fired event to the invoked command. See this post for more explanations. Here is another early release of the MVVM Light Toolkit V3 (Alpha 2). I decided to release gradually and early as soon as a new part of this new version is ready, to allow advanced users to install, test and give feedback about the new features. If you haven’t seen it yet, the features available in V3 Alpha 1 are described ......

Microsoft #shape conference

The Shape conference is a new web technologies oriented conference organized by Microsoft Switzerland. It is held in Zurich Oerlikon, and has two tracks, one design-oriented and one development-oriented. Read the rest of this entry » ......

Clean shutdown in Silverlight and WPF applications

Update: There was a small error in the Silverlight version of the application. The code used to navigate to a different webpage was wrong (in ApplicationExtensions.cs). I wrote this article in the Austrian mountains and did not have the web to check the code, sorry about that ;) I updated the source code. If you downloaded the source code before the 19th of October, 8AM GMT, you want to load the correct version. Apologies!! Read the rest of this entry » ......

MVVM Light Toolkit on Codeplex

Responding to a few requests from MVVM Light Toolkit users, I opened a project on Codeplex and published the installer as well as the source code there.

http://mvvmlight.codeplex.com/

Read the rest of this entry »

Using RelayCommands in Silverlight 3 and WPF

Like most of us have found out the hard way, Silverlight 3 and Windows Presentation Foundation 3.5 are two quite similar beasts, but not totally the same. Silverlight is often presented as a subset of WPF (in fact, some features are available in Silverlight but not yet in WPF; generally speaking, though, it is true that Silverlight has less features than its big sister WPF) (yeah WPF is a girl, don’t tell me you didn’t know ;)) Read the rest of this entry » ......

New articles about the MVVM Light Toolkit V1.1.1

To help you get started with the MVVM Light Toolkit V1.1.1, I published two new articles:

Read the rest of this entry »

MVVM Light Toolkit V1.1.1: What’s new?

The new version of the MVVM Light Toolkit was just posted. So what is new? Well, to be honest not much.

Read the rest of this entry »

Installing the MVVM Light Toolkit

I just published a new version of the MVVM Light Toolkit.

Read the rest of this entry »

Detecting design time mode in WPF and Silverlight

We already talked often about providing design time data to your designers in Windows Presentation Foundation and in Silverlight, thus enabling them to work visually in design editors such as Expression Blend or the Visual Studio designer (codenamed Cider).

Read the rest of this entry »

56 vector arrows in XAML

I found this collection of vector arrows through Robby Ingebretsen. The designer Sander Baumann created 56 different arrows in vector format (Adobe Illustrator). Read the rest of this entry » ......

Polymorphic Podcast: MVVM, Blend, Integrator in WPF and Silverlight

Some time ago, Craig Shoemaker asked me if I wanted to talk about design time data in MVVM on his Polymorphic podcast, and of course I said yes. Following in the steps on my buddies Josh Smith and Tim Heuer was a bit scary, but hey, this is what we do, right, following the steps of giants and trying not to look too silly while we do it :) Read the rest of this entry » ......

Expression Blend Samples InvokeDataCommand bug

My good friend and super hero programmer Pete Blois posted an impressive collection of samples using and extending Expression Blend behaviors and triggers on Codeplex some time ago. There are a few real treasures in there, and some of them that I would like to integrate in my MVVM Light toolkit, thus avoiding to reinvent the wheel. I am still checking the license (the Samples use the MS-PL license) but I think it should work just fine. Read the rest of this entry » ......

Member of the INETA Europe Speaker Bureau

I am very proud and happy to announce that I am now a member of the European INETA speakers bureau.

Read the rest of this entry »

Silverlight 3, Blend 3 and the MVVM Light Toolkit

The big news today is of course the launch of Silverlight 3. Microsoft organized a big event in San Francisco (I was invited, but could not make it to SF in time, unfortunately :() and there was a big celebration. Together with Silverlight 3 RTM, we were given Expression Blend 3 Release Candidate (including SketchFlow). Read the rest of this entry » ......

Installing the MVVM Light Toolkit V1.1.0.0 (obsolete)

Update: This post is obsolete, and has been replaced by a newer article. Please refer to the Get Started page for details!!

Read the rest of this entry »

MVVM light toolkit (Silverlight edition) posted

To make development of WPF and Silverlight applications according to the Model-View-ViewModel pattern easier, I have put together a small toolkit which should speed up the creation of such applications by automating certain tasks.

Read the rest of this entry »

MVVM light toolkit for WPF and Silverlight

To make development of WPF and Silverlight applications according to the Model-View-ViewModel pattern easier, I have put together a small toolkit which should speed up the creation of such applications by automating certain tasks.

Read the rest of this entry »

Working on a MVVM “light” toolkit

As some of you now, I have been spending most of my free time (which is not much these days once I am done with the amazing projects I am working on at IdentityMine, and the time spent with the family) working on a very simple, very light MVVM toolkit.

This toolkit will encompass

Read the rest of this entry »

The #techdays presentations screencasts are online (French and German)

And now the German version of the session is online too. Read the rest of this entry » ......

The #techdays presentations screencasts are online (French only)

Update: The German version of the presentation is online too.

I was just notified that the screencast for the session I gave at TechDays in Geneva a few weeks ago is now online.

Read the rest of this entry »

Posting the source code for #techdays (Switzerland) talks

Update: I updated the installation instructions to make it clearer that you need the WPF toolkit and SQL Server express before you can run the application. TechDays Switzerland is always a very nice venue, and this year in Geneva and in Bern were no exceptions. For me it was a special occasion, because I gave the same talk in French in Geneva, and in German in Bern, and I had never done this before. I think it went well. Altogether approximately 450 people saw this talk. I think I will possibly reuse ......

Using a Behavior to magnify your WPF applications

At MIX 2009, the Expression Blend team cam up with a new concept called Behaviors. In fact, the only thing new is the way that the Behaviors are packed. WPF developers have been doing what we called "Attached Behaviors" for quite some time already: see this thread (dated July 2008) to read a discussion around this topic at the WPF Disciples group. Read the rest of this entry » ......

Posting the source code for my #mix09 and #techdays (Belgium) talk

Note: I just updated the title for this article, sorry to all of you who were waiting for the TechDays Belgium source code and didn't realize it was here :) I just posted the source code of the demo applications I used in my MIX09 talk "Working across the client continuum". The source code is structured as follows: Read the rest of this entry » ......

IdentityMine releases Gesture Engine for advanced multitouch development

Multitouch is going to be the next big thing. Natural User Interfaces (NUI) are going to change the way we use client applications soon. You think it's not true? See the iPhone hype. This is not a very good phone, feature wise. It is lacking very basic features. But being able to control your phone using multiple fingers was a real killer feature. Read the rest of this entry » ......

TechDays Belgium is over

I just held two talks in Antwerp, Belgium, for TechDays and it was really nice. First the Belgian team did a fantastic work welcoming the speakers, and as far as I could say, the attendees were also taken care of in an exemplary way. We had just a small incident (there was a power breakdown about 15 minutes before my show and the whole center went black), but noone panicked and it was taken care of with a lot of care. Read the rest of this entry » ......

Talking at MIX09: Las Vegas and the continuum

One of my dreams is going to come true: Since the very first time I attended MIX in 2006, I have wanted to talk there. MIX has a very special meaning for me. It is in the Venetian conference rooms that I heard about Windows Presentation Foundation and what would later become Silverlight. It is there that me and my two colleagues Andreas and James decided that we wanted WPF for the project we had just started at Siemens. A decision that was definitely the right one, from a technical point of view ......

Simulating IsSynchronizedWithCurrentItem in Silverlight (part 2)

This is part 2 of a two posts series about the property IsSynchronizedWithCurrentItem. In the previous post, we saw what it does in Windows Presentation Foundation. In this post, we will see that this property is missing in Silverlight, and propose a way to simulate it. Read the rest of this entry » ......

Simulating IsSynchronizedWithCurrentItem in Silverlight (part 1)

This is part 1 of a two posts series about the property IsSynchronizedWithCurrentItem. In this post, we will see what it does in Windows Presentation Foundation. In the next post, we will see that this property is missing in Silverlight, and propose a way to simulate it. Read the rest of this entry » ......

Judging the MIX10K contest

In a previous post, I was mentioning that I took part to the MIX09 10K contest. Take a moment to read all about this contest and come back to finish this post :)

Read the rest of this entry »

One more talk: Geneva TechDays, 1st and 2nd of April 2009

Just got confirmation that I will also be talking in Geneva, Switzerland, at the TechDays 2009 (1st or 2nd of April 2009). The talk will be the same as in the TechDays in Bern, but this time it will be given in French. I never really gave a technical talk in French, so it should be interesting (I hope the material will be more interesting than me struggling with technical words in French, though, just kidding). Read the rest of this entry » ......

Speaking at Microsoft TechDays - Belgium and Switzerland

Update: Added a talk in Geneva, Switzerland, 1st or 2nd of April 2009 I am happy to announce that I will be speaking at Microsoft TechDays in Antwerp (Belgium, 11th and 12th of March) and in Bern (Switzerland, 9th of March). Hope to see some of you there, and if you are around, please come and meet me!! Read the rest of this entry » ......

Microsoft Expression Studio available at 50%

Just heard through Chris Koenig that Microsoft Expression Studio is available for a limited time at 50% of the original price.

Read the rest of this entry »

It's podcast season: Herding code

Apparently it's podcast season... When in Los Angeles, Jon Galloway and I managed to sit down an hour and talk about Silverlight, WPF, Blend, my past work at Siemens and my future work at IdentityMine, and of course about my book Silverlight 2 Unleashed. I was kind of sad that Kevin Dente and Scott Koon didn't manage to join us, but the conference was so packed with events that we found time only on the very last day (Thursday) and the two had to go back home already. Still, it was nice to meet the ......

Silverlight 2 Unleashed hard copy - Two thumbs up!

Apparently I received my first hard copy of Silverlight 2 Unleashed at home! Because I am in the office, I can't see it yet, but according to my daughters, it's two thumbs up!!

Two thumbs up for Silverlight 2 Unleashed

Redesigning my website with the help of Expression Blend

I decided to completely redesign my website www.galasoft.ch (yes, it's about time, I know). For this process, I decided to inspire myself (loosely) from my good friend Robby Ingebretsen's site, which is both simple and beautiful. In order to get a better idea of what I want to reach, I decided to work like most web designers and to create a mockup first. Instead of creating a static picture, however, I used Expression Blend, a tool I am fairly proficient in, to create a WPF application demonstrating ......

Converting and customizing XAML to PNG with server-side WPF

One Tweet by Oliver Sturm (http://twitter.com/olivers) the other day got me to thinking. He was asking about the possibility to host graphics for a web site in XAML format, and the best way to render it. Currently, there are 3 possible ways that I know of to render XAML in a web browser Loading the XAML file directly in an IFRAME will trigger Windows Presentation Foundation on the client (if available). The IFRAME can be positioned in the page so the it "blends" with the HTML page. That's only for ......

Sams Silverlight 2 Unleashed (was: Teach Yourself Silverlight in 24 Hours)

My editor at Sams (hey Neil :)) and I decided to convert the book I am almost done writing into an Unleashed. There are multiple reasons for that, the most important being that the book addresses multiple audiences, and has a broad range of coverage, which is typical of the Unleashed series. The content goes enough in depth (according to Neil) to be placed in the Unleashed series. While the Unleashed series usually targets more advanced users than the Teach Yourself one, this book has lots of content ......

Preorder my Silverlight book on Amazon

Wow. That's an incredible feeling, seeing my name on Amazon :) The book is in pre-order!! I'd better get back to editing it then :) ......

Sams Teach Yourself Silverlight in 24 Hours, Table of Contents

I've been working since September 2007 (more or less) on an upcoming Silverlight book titled "Teach Yourself Silverlight in 24 Hours" at Sams. This book will be aimed at beginners with the technology (and maybe even beginners in programming). The reader is walked (with a lot of code samples and step-by-step examples) through most features of this amazing technology. The book has 24 chapters, each of them taking more or less (maybe rather a little more than a little less, to be honest :)) one hour ......

Silverlight 2 beta 2 is live!

Here we go, Silverlight 2 beta 2 can be downloaded and installed! I had the chance to take part to an "insiders" program at Microsoft, and to play with SL2 b2 for a couple of weeks, and it's a good one. You should switch to b2 as soon as you can! There are obviously incompatibilities between b1 and b2, but much, much less than between the alpha version and b1. We're getting there!! Silverlight 2 beta 2 will be used to build applications related to the Beijing olympics, so it's going to be a real ......

Microsoft, you're kidding me, right??

You got to be kidding me. What if I want Expression in the US locale, I can't buy it just because my IP is not in the US? Honestly? You are *that* stupid?

WTF

My talk at the "Internet Briefing RIA conference" in Zurich

I just posted today's talk at the RIA conference in the World Trade Center, Zurich. Unfortunately it was not recorded, but the slides and the demos' source code is available on my site. The talk went really good, even though the crowd was rather tough :) Trying to "sell" Windows Presentation Foundation, a desktop Windows-only technology, to an audience of web developers, many of them using Java and open source technologies (and even one Adobe employee) sparkled some very interesting discussions. ......

De WPF Integratio (About WPF Integration)

Introduction I've been posting a lot about Silverlight lately, but hey, here is a WPF post, and about WPF integration, no less. Note: To fully understand this article, you should have a basic understanding of WPF, styles and templates, triggers, etc... In my current project at work, I act as WPF Integrator. I am that dude who sits between the designers and the developers, and tries to avoid that they fight too much. Or something. Sometimes it works, sometimes it doesn't, you know how it is with kids. ......

TechDays 08: Talked about WPF and now back home

The Swiss edition of the TechDays 2008 is over. It was a great success,many people came, and as far as I can say, people had a good time. I didn't attend any sessions though, because I hung out in the main area instead and met a number of people (some of them I knew from MIX or other occasions), and talked talked talked. Yesterday evening, there was a party, I didn't stay too late though because I wanted to be well rested for my talk this morning. My talk titled "Siemens goes WPF, Lessons learned" ......

Silverlight Bug: Transforms and OpacityMask

Introduction In WPF, one of the best know effects is the "reflection" effect, where a scene reflects itself dynamically. It's a very cool feature, because it's really easy to realize, and it allows to reflect images, but also videos or other User Interface scenes. The key to this is to use a VisualBrush. Silverlight is not exactly as powerful as WPF, and doesn't have VisualBrush, but it has ImageBrush and VideoBrush, both of them allowing cool media reflection effects (these brushes can also be used ......

#Mix08 Session: Nerd + Art: Ten Code Snippets to Empower Your Inner Artist

Robbie Ingebretsen: "This is a creative experiment" "We didn't always look into best practices" Talks about the Integrator role. Nathan Dunlap: "Designers should probably use Visual Studio more" "It's a great tool to dive into the code,check the SDK..." Snippets are distributed as a Snippet installer VSI file. Silverlight code snippets WPF code snippets By the way, check Dr WPF's snippets too! To access the Nerd snippets in the code, simply type "nerd". Displays the list of all snippets. Custom Control ......

MIX08: Keynote with Steve Ballmer and Guy Kawasaki (1)

#MIX08 Session: Creating Rich, Dynamic User Interfaces with Silverlight 2

Karen Corby NB: Code will be posted on Karen's blog User control, motivations Re-use Modularization Encapsulation Same concept as in WPF No more need for "InitializeFromXaml()", good news. The "XAML hook" is done for us by the framework KeyDown Event can now be handled on any component level, not just the application level like before Databinding in Silverlight, how much sweeter can it get. Can't wait to play with it... Wondering how well the MVVM pattern can be used in Silverlight. Oh yeah, flow ......

Silverlight: Downloading the Beta 1 bits

Silverlight 2 Beta 1 runtime Download Microsoft Silverlight Tools Beta 1 for Visual Studio 2008 (contains the SDK) Download Microsoft Expression Studio 2 Beta (contains Blend 2, Design 2, Web 2, Media 2 and Encoder 2) Download Microsoft Expression Blend 2.5 March 2008 Preview (can be installed side by side with Blend 2) Download Microsoft® Silverlight™ 2 Software Development Kit Beta 1 Documentation Download Source Code and Unit Tests for Silverlight 2 Beta 1 Controls Download ......

MIX08 Keynote (11)

WeatherBug

  • New Silverlight application running on Nokia
  • Cool app, "very easy to develop using Silverlight"

Scott Guthrie

  • Wrapping up and summarizing.

Time to have lunch!!

MIX08 Keynote (10)

Cirque du Soleil Use WPF application to track cast information Cirque du Soleil recruiting ScottGu for their shows. Good idea. "Come see the Man Who Never Sleeps". Scott Guthrie Performance for WPF videos and image handling MUCH better. Pretty cool Write custom effects in WPF and they are pushed to the hardward for acceleration. (for example ripples, shadows, etc...) Effects applied to controls during runtime, physics engine calculation, all pushed to hardware for better performance. All these included ......

MIX08 Keynote (9)

Scott Guthrie about Silverlight Silverlight controls developedby MSFT are shipped as Open Source! Devigner role officially mentioned in ScottGu's slides! Yes I do exist! Show off new SL 2 applications AOL Builds new AOL email client using Silverlight. Using IsolatedStorage much faster and more advanced than using the browser cache. Scott Guthrie Enable user experience that doesn't exist today. Deep zoom. Based on research project. Navigates through very large images by downloading only portions of ......

MIX08 Keynote (8)

Scott Guthrie: Silverlight 2 features: Cross browser cross platform version of .NET Multi language support WPF UI framework (as a subset). Use controls, layout management. Databinding support Skinning, styling Animation support Networking (REST, SOAP, etc...) Built in support for Sockets Integrated data support, including LINQ Local cache store High performance Small download, fast install(4.3 MB download all inclusive) Linux implementation of SL2 available. Includes Calendar control, Datagrid control... ......

MIX08 Keynote (7)

Scott Guthrie: Strategic alliance with Move Network using SL2. Windows Media Services 2008: scalable solution, runs on top of WIndows server 2008, is free. Progressive download: IIS7 media pack shipped last week with Bit Rate Throttling and Web playlist, also free. Business opportunities with advertising in Silverlight John Harris, Senior PM on Expression: SL 2 advertisement demo New ad templates for Silverlight with built-in banners, including animations for appearance, etc... Move to Blend to position ......

MIX08: Keynote (6)

Dean Hachamovitch (IE General Manager) IE8: Select an address, choose "Live map" from a context menu and get a Live Map view of the place. Web slices: User can subscribe to parts of a web page. Hover on a part of the site, icon shows up, select a "web slice" and subscribe.Displays a new bookmark, live view of the web page "extract". Beta 1 of IE8 available for developers after the keynote Scott Guthrie Quick peep of live Silverlight sites. 1.5 million installations of Silverlight per day, should ......

MIX08: Keynote (5)

Dean Hachamovitch (IE General Manager) CSS2.1. Demo in Firefox, Safari, looks the same. Opens in IE7 and it doesn't look the same.IE8 supposed to be the answer to that. First time showing IE8 to the public Focus on CSS and understanding standards the same way than developers are. Legacy web. Legacy pages developed for IE look bad in Firefox and in Safari. IE8 has a "Emulate IE7" button for legacy pages. In the future, IE8 should behave just like Firefox and Safari, at the risk of breaking legacy ......

MIX08: Keynote (4)

Ray Ozzie keynote: "Many amazing technologies available today, but I would like you to bet on us" Oh really? Scott Guthrie keynote: Just launched .NET 3,5, VS2008, IIS7, Windows Server 2008 Scott talks about the new features in ASP.NET 3.5, mentions LINQ IIS7 makes deployment and administration much better Dean Hachamovitch (IE General Manager) Introduces IE8 Cool T-shirt #Mix08 ......

MIX08: Keynote (3)

Ray Ozzie keynote: "Connected entertainment vision" Office offering: Desktop, Mobile and Web, all connected in a seamless experience. Office Live: Linking, sharing and tagging of documents for the social mesh. Connected business. CRM like MSFT Dynamics used by half a millions small firms worldwide. "Utility computing within the enterprise". Power of choice (again). XNA, .NET WPF, Silverlight, ASP.NET Expression Studio for designers Visual Studio for developers .NET in the middle of it all #Mix08 ......

MIX08: Keynote (2)

Ray Ozzie "can't talk much about the Yahoo deal". Ray talks about the community and its importance for the technology. Advertising is really important forMSFT strategy. "Ensure a vibrant advertising ecosystem on the web". "3 core principles that we are using" "Web as a hub, for our social experience and social mash", linking, sharing, tagging on the web will become familiar to all of us. "Number and variety of devices on the rise". Web as a hub to simplify our life in managing the devices. "Power ......

MIX08: Keynote

So here we are, the breakfast was had, and now we're getting ready to listen to MIX08's keynote. I will do my best to post new information as we receive it. To make sure that you don't miss anything, check this page: http://hashtags.org/tag/mix08/ That's an interesting project: It scans through all the twitter feeds carrying the tag "#mix08" and aggregates them. Many tweeters here are using this setting, so it's a good way to keep track of what's happening in real time. I just regret that there is ......

MIX08: Random pieces of news (3)

Interesting concept for localizing Silverlight applications using a "resource" JavaScript file. Presented by Brad Abrams. Amazing set of new controls for Silverlight 2, including a datagrid. Where's the WPF-based one, Microsoft? Multiline textbox in Silverlight 2.0 (but you're not supposed to talk about it :) ASP.NET MVC framework for URL mapping. I think that ScottGu blogged about that before, something I definitely want to look into (when I'll have time, ah ah ah) Tim Sneath on WPF and Silverlight: ......

MIX08: Random pieces of news (2)

  • Next version of Expression Blend is going to be V2.5
  • Expecting another important announcement about Microsoft Expression tomorrow.
  • XNA (game development platform) may allow web programming soon?
  • Many Silverlight-related announcement coming up tomorrow. I expect to see a lot of Silverlight mobile at the key note.

MIX08: Random pieces of news

Expression Studio V2 is coming this April. It will include V2 of Expression Design!!! (Yes, finally) Expression Design V2 allows selecting a "slice" of your design and export it to XAML directly. Seems that the export process improved a lot. Not sure about roundtrip export-import though. V2 of Expression Studio contains Blend, Design, Web, Encoder, Media. Expression Web 2 supports PHP with Intellisense, Syntax coloring, Local preview with Cassini (development web server). Insert Flash, ActiveX, Window ......

Blend: New version with complete Style properties

Blend December CTP was released a short time ago. Included in this new version is one change that I'd been requesting from Microsoft, and I am really happy they made it: You can now select every properties of a given element when you edit them in a style. In the previous version, some properties were hidden, for some reason, and you could only set them using the XAML editor. At least Width and Height were not visible in the properties pane, and maybe more. In the December CTP, this small defect is ......

Expression Blend: Template loops (no problems in Cider, though)

In one of my side-projects, I wanted to create a kind of lightweight treeview, as simple as possible: An item can contain a list of items; each item is simple represented by a string. In OO design, it's rather easy: You crate a DataItem class, which contains a Description and a collection of DataItems (children). Wanting to take advantage of ControlTemplates and DataTemplates, I thought I would create the following structure in WPF: - Window - Grid - Control - Template "MyControlTemplate" (ControlTemplate) ......

Designer - Developer, a new collaboration with WPF (Screencast)

I posted a 50 minutes screencast on my website, with a demo involving Expression Design, Expression Blend and Visual Studio 2008 to demonstrate the workflow between the designer, the developer and the WPF integrator in a WPF project. In this demo, I build the foundation for a PDA application from scratch, using VisualBrushes, ControlTemplates, Animations, Gradients, etc... I also use a 2-DLLs architecture, one of them containing all the resources needed to create a new "skin" for the application, ......

Cleaning up XAML code and improving parsing time (with Blend and Studio)

XAML being XML-based, it needs to be parsed and processed when the code is loaded in the application. WPF allows multiple scenarios, for example pre-compiling the XAML to BAML (binary application markup language), which is usually embedded into an assembly. This speeds up loading time, of course. Another option is to leave the unprocessed, uncompiled XAML file on the server (or in the "bin" folder of the application), and to load that file on demand when it is needed. This step involves the conversion ......

Blend: Canvas mode vs Grid mode

I stand corrected, the "locks" are still there. Following yesterday's post, I got a comment indicating me the cause of the confusion: Somehow, when I installed the September CTP of Blend 2, my settings were changed (probably by my own doing, in fact), and I unchecked the "Use grid layout mode" checkbox in the "Artboard / Layout" section of the options. This causes the grids to be displayed as a kind of canvas, on which the controls can be positioned in an absolute manner, instead of "fixing" them ......

WPF/Silverlight: Installed Blend V2 September CTP

Update: I stand corrected, the "locks" are still here. See here! Thanks Christian! My August CTP version of Expression Blend expired just as I was in Italy sitting with developers and doing some integration work, but thankfully when it expired, it gave me an additional 30 days, so I could continue to work. Once back in Switzerland, I downloaded the whole September CTP package and installed everything. It went smoothly, and I can now enjoy Blend 2 September CTP with quite a few cool new features. ......

WPF: Simulating data in design mode in Microsoft Expression Blend

[UPDATE: The link to the VS2008 project was broken. Sorry for that] I just published an article I have been working on for a few days, based on a technique developed over the last few months. I got to say, I am really proud of the result. In one past post and another, I talked about my quest to display test data in Expression Blend. The goal behind this is to enable the graphics designers to work on the controls' look and feel directly in Blend, and if possible directly in the element's context. ......

WPF: Blend 2 rocks (3D, XML comments)

XML comments and Blend It's great to see how Expression Blend V2 improved over V1. One small thing I noted which makes life easier is the preservation of XML comments entered before a XAML element. This allows documenting an element in a ResourceDictionary, and then moving the element in another ResourceDictionary without losing the comments. That's possible in the Resources tab of Blend, on the right. Note however that only the XML comment located immediately before the resource will be moved around. ......

WPF: Expression Blend 2 and external resources (VS2008 version)

Following a past entry about Blend and external resources, some of you told me that they tried it without success in Orcas. Here is an updated checklist for Orcas, which should solve the problem, I hope. To make things clear: I use the latest version of Expression Blend (at the time of this writing, it's the August CTP of Blend 2). With earlier versions of Blend, it probably won't work as well, if at all. Additionally, it is imperative to use the syntax I describe to "merge" the resource dictionary ......

WPF: Expression Blend 2 and external resources

Update: see the checklist for Visual Studio 2008 "Orcas" here. Also available: Visual Studio 2005 and Visual Studio 2008 projects to download. One thing where Expression Blend V2 improved a lot over V1 . This situation is often useful when you want to "skin" an application. In such a case, you can define your UI in a main assembly (for example the EXE), but define all the UI ressources (Templates, Brushes, Styles, etc...) in a ResourceDictionary located in another DLL. WPF allows "importing" resources ......

WPF: Finished the Expression Design / Expression Blend hands-on lab

Update: Removed the IFRAME, because of annoying "download" effect in Firefox. Added a link to the XAML page instead. Excellent lab!! I finished today the lab I started yesterday about Expression Design, Expression Blend and their collaboration. Actually, it's still not really a collaboration, to be honest. You export XAML from Design, and you add the exported file to the project in Blend. If you choose to modify the icons in Design, however, you must reimport and then make sure that the changes appear ......

Expression Blend labs / Losing the "-lb"

Expression Blend lab I downloaded Karsten Januszewski's Expression Blend labs, and I am going through them slowly. I finished the first one tonight. While it's relatively basic, it's still great to be able to consolidate what I otherwise learned through try-and-fail, and through reading parts of the user documentation. Additionally, it's a good support to learn useful shortcuts for some commands. I am looking forward to going through the remaining two labs, and I will highly recommend them to the ......

WPF: Data Binding in Expression Blend

Intro Continuing my quest to make my applications as "blendable" as possible, and after noticing that Expression Blend doesn't execute a Window's or a User Control's constructor when the element is displayed, I thought I'd try to place my test data in the XAML itself, using an XmlDataProvider. Unfortunately, it still doesn't work as well as I had hoped. Purpose In order to allow designers to work in Expression Blend as much as possible, it is often necessary to create a test application. For example, ......

WPF: Debugging your UI in Expression Blend

What? Here's a cool trick, which I thought of after reading this comment and this post. The good thing to remember is that Expression Blend is a (maybe the first) Microsoft application entirely written in WPF. I always thought it was pretty cool. Well, even cooler than I thought: When load a project in Blend, the code you wrote is actually executed! Of course there are some caveats (see below), but what it allows is to place a breakpoint in your code (for example in a User Control's constructor), ......

WPF: Debugging the XAML (continued) / Expression Blend training

Debugging the XamlParseException (continued) In a previous post, I mentioned how you can get more details about the XamlParseException thrown when something is wrong with the XAML (but you don't know what exactly). Well, a reader named Daniel Puzey made a comment to that, and I think it's worth posting that again: There's another trick to this. Often, by default, you'll get an error reported at Line 1 of the xaml, which is an obvious lie. You can catch the original exception, though: - Open the "Exceptions" ......