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. The error is caused by an incompatibility between versions of System.Windows.Interactivity. Because this assembly ...

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/ Formally, nothing much changes, my site and my blog remain the main location to find information on the toolkit. Being on Codeplex gives the project more visibility, and provides a convenient place for discussions too. Happy coding! Laurent Bugnion (GalaSoft) Subscribe | Twitter | Facebook| Flickr | LinkedIn ...

MVVM Light Toolkit V2: What’s new?

I am happy and proud to announce that the MVVM Light Toolkit V2 has been published! Shortcut: Jump directly to the installation instructions. Excerpt from the Get Started page: The main purpose of the toolkit is to accelerate the creation and development of MVVM applications in WPF and Silverlight. Like other MVVM implementations, the toolkit helps you to separate your View from your Model which creates applications that are cleaner and easier to maintain and extend. It also creates testable applications ...

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 ;)) No Commands in Silverlight 3 One of the missing parts is Commanding. ...

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 ...

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: Creating a new MVVM Light application in Visual Studio This article will show you how to use Visual Studio to create a brand new MVVM Light application in Windows Presentation Foundation and in Silverlight. Understanding the MVVM Light application sample When you create a new MVVM Light application, the application can be run and serves as a sample. This post helps you to understand the various components and ...

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? Note: If you are familiar with the creation and usage of design time data, feel free to scroll down to the paragraph titled “When design time data fails”. Creating design time data for your app When a designer works on an app, he needs to see something to design. For “static” UI such as buttons, backgrounds, etc, ...

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. This is ideal when you want to build views like the Windows 8 start menu. However immediately we notice that the Start ...

#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. Upgrade Upgrading the installations should not require an ununistall, so try to simply run the MSI downloaded ...

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. Scroll down to have a chance to win a copy of Expression Studio V4! MVVM Light started its “career” on Codeplex in October 2009. Back then it was intended ...

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! MVVM Applied: From Silverlight to Windows Phone to Windows 8 Belgium, Netherlands, Bulgaria The Model-View-View Model pattern is a common denominator between applications using XAML to create the user interface. First applied in WPF, it was then easily ported to Silverlight and Windows Phone development. With WinRT and the Metro-style applications, XAML ...

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: “MVVM Applied, From Silverlight to Windows Phone to Windows 8” (in Belgium and Netherlands) The goal of this session was to make people feel confident that the skills they acquired working in various XAML frameworks (Silverlight, Windows Phone, WPF, Surface, etc) are going to help them tremendously when developing Windows 8 applications. It was a session packed with code, ...

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. I had a few surprises with this build. For example from time to time, the new “Metro style applications” just cannot be launched anymore. Nothing that a simple reboot cannot fix… but I’ll come back to that in a moment. A couple of ...

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. Detecting design mode was always incompatible ...

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. After investigating, it is correct that these two particular features of MVVM Light were installed to language-coded folders. Correcting the issue for Expression Blend was easy enough ...

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! Change log General changes Added XmlnsDefinitionAttribute for GalaSoft.MvvmLight.Command in Extras assembly. Setup Created an installer. Messenger ...

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”. Thankfully, MVVM ...

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" ...

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. Windows Phone 7 Overview View more presentations from Laurent Bugnion Windows Phone 7 Deep Dive View more presentations from Laurent Bugnion Laurent Bugnion (GalaSoft) ...

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. ObservableObject replaces NotifyPropertyChanged In the previous preview, I introduced a new class named NotifyPropertyChanged. However, I got a few suggestions to rename this class to ObservableObject, which is indeed a better name. In BL16, NotifyPropertyChanged was deleted and replaced by ObservableObject. Nothing else changes, just the name. ObservableObject is a very ...

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 A DLL with classes that make MVVM applications easier to create and “wire”. A “base” ViewModel class that contains utility methods that ViewModels typically need. A command class that can be used in WPF and Silverlight, ...

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

And now the German version of the session is online too. Get it at http://www.microsoft.com/sw... Reminder, the French version is at http://www.microsoft.com/sw... The slides are also available at this URL. Have fun ...

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. The slides are also available for download. Last year’s session To fully understand this session, an understanding of what MVVM is should be available. I recommend the following links: “Understanding ...

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. And don’t forget: A recording of session with similar material but with 30 minutes more time for additional samples is online for your viewing pleasure. Deep ...

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. Right now, the DVD is auctioned on eBay and of course the proceeds will go to a charitable work: The German League against Cancer (Deutsche Krebshilfe). The post is in German and English (scroll down for the English ...

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. This version is labeled “V4.0.0.0/BL0014”. The “BL” string is an old habit that we used in my days at Siemens Building Technologies, called a “base level”. Somehow I like this ...

My proposals for the #MIX11 open call

Vote for: “Deep Dive MVVM” Vote for: “Exploring a Blendable Windows Phone 7 Application” Last year, the MIX team started a new concept with an open call for sessions. People from the community were invited to submit talks about pretty much anything, and the public voted to select which sessions they wanted to see. It was a huge success, since 150 sessions were submitted, of which 13 sessions were picked (don’t hold me accountable for the numbers, they are plucked from my memory ) I was very honored ...

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). Having 30 people for a first meeting was a great success, especially ...

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. Who is it for? Use this hotfix if (and only if): You have MVVM Light Toolkit V3 SP1 installed. You are using the new developer tools for Windows Phone 7 (RTM). Why a hotfix? The hotifx is needed because of changes in the Microsoft Windows Phone 7 assemblies (regrouping of classes in different namespaces and/or different assemblies) as well as some other changes (manifest structure, etc). The MVVM Light assemblies ...

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. Together with ...

Silverlight 4 Unleashed table of content

(book cover might change before publication) 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. The book’s idea Because I didn’t want to merely write an update to the existing Silverlight 2 Unleashed, I proposed a different approach to my editor: Using Silverlight 2 Unleashed (which was bringing people up to speed with Silverlight 2 pretty much from scratch) as the basis for the new ...

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. What is the Windows Phone 7 multitouch behavior? Multitouch in Windows Phone 7 is not super hard, but there are a few things that need to be taken in account (such as the orientation of the device). In addition, it is very easy to get unwanted effects on a small screen (for example that the element becomes too big/too small). Also, in some cases the proportionality should be kept for a scaled ...

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). A few days ago, the Blend team released a fix for an issue that was sometimes causing a crash when Blend was starting up. This new release (V4.0.20421.0) was not very well announced however, and many people (including ...

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. Hi, I am doing my best to answer all the questions as fast as possible. I receive a lot of them, however, and cannot reply to everyone fast enough to make me happy. Due ...

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: Blend templates The path to the Expression Blend 4 project templates changed. If you start Expression Blend 4 RC now, you will likely not see the MVVM Light templates in the New Project dialog. New Project dialog with MVVM Light To restore the templates, follow the steps: Open Windows Explorer Navigate to C:\Users\[username]\Documen... ...

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. The best way to solve these issues is through ...

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”. Note: before unpacking the zip file, you should right click on it, and select properties / Unblock. I also published the slides for my two talks: Understanding the MVVM Pattern A day in the life of a WPF/SL ...

Sample code for my #mix10 talk online

Update: Seems that not everyone is running on the latest and greatest, which is understandable. To avoid confusion, I added the version of the framework for which these samples are available. In the next few days, I will try to port them to other versions in order to have working samples in WPF3.5, WPF4, SL3 and SL4. Please be patient, thanks! Update 2: I reconfigured the samples to include all the external assemblies you need to run them (including Microsoft.Practices.Unity.dll, System.Windows.Interactivity ...

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: Visual Studio 2008 SP1, Expression Blend 3 Windows Presentation Foundation 3.5 SP1 Silverlight 3 Visual Studio 2010 RC, Expression Blend 4 beta Windows Presentation Foundation 3.5 SP1 Windows Presentation Foundation 4 RC Silverlight 3 Silverlight 4 RC For more ...

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. LayoutRoot.Background = new SolidColorBrush(Colors.Red); //LayoutRoot.DummyProperty = "Ignored"; /* LayoutRoot.Another = "Ignored too"; */ In XAML it is not so easy, because XML (of which XAML is a dialect) does not have line comments, but only block comments. You can comment out a whole XAML element, but not just ...

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! What’s new What’s new in MVVM Light Toolkit V3 is the topic of the next post. Cleaning up I would recommend cleaning up older versions before installing V3. I prepared ...

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. You can see this presentation (in French) at http://www.microsoft.com/sw... The slides are also available at this URL. Have fun ...

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! My session: Understanding the ...

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), ...

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. Since my ...

Talking in Las Vegas: MIX2010 and MVVM

Update: The session is officially on. See the MIX10 website. 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. Understanding the ...

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. Of course the templates are also available for Visual Studio 2008 and Visual Studio 2010, as well as the binaries. The source code is available on Codeplex. ...

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). There is no automatic installer for this version yet, but I wrote a page describing ...

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 ;) Ironically, as a Microsoft MVP I do have a LiveMeeting account, so I would be able to host ...

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" ...

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! My talk is titled Expression ...

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. Bug correction This applies to the new “send with token” feature of the Messenger. ...

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. Best of Swiss Silverlight award The Best of Swiss Silverlight awards are rewarding the best Silverlight applications developed in Switzerland this year. The winners are: 3rd place: Siemens with an application to optimize energy efficiency in buildings. Very happy about that, because I have been a ...

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!! It is often difficult for large applications with multiple, loosely coupled ...

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. The biggest change is the new installer. It is now a standalone MSI installer, because some of you reported some issues with the previous ClickOnce based setup. I personally liked the ClickOnce setup (and I got a few good comments about it), but of course a standalone, offline installer is more versatile, so be it :) The following shortcuts are created in Start / All programs / Laurent Bugnion ...

Installing the MVVM Light Toolkit

I just published a new version of the MVVM Light Toolkit. For more information about the toolkit in general, please refer to the Get Started page on my website. Also, more blog posts will follow soon and help you get started with the MVVM Light Toolkit, and also help you understanding how you can use it to solve various issues related to the development of View Model based applications in Windows Presentation Foundation and in Silverlight. The installation procedure is explained in details on my ...

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). The goal here is very simple: Designers should see something on their design surface. This sounds simple, but it can get quite tricky. Since Blend and Cider run (parts of) your application’s code to render the WPF or Silverlight elements, you ...

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). I converted these arrows in XAML. The arrows are available in the different formats (right click and choose “Save Target As”): DrawingBrush (WPF only): You can use the arrow icon as a brush to “paint” an element, typically a Rectangle. If the painted element is resized, the DrawingBrush will also resize seamlessly thanks to its vector nature. ...

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 :) It was a fun talk, and I think we managed to convey the message pretty well. We talked about the Model-View-ViewModel pattern, especially related to creation of ...

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. One feature in particular that I find super helpful is InvokeDataCommand. ...

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. For those who don’t know it, INETA is an non-profit organization dedicated to “support all user groups interested in Microsoft .NET platform. (from http://europe.ineta.org/) One of the aspects of this support is the speakers bureau, which gathers experts in various .NET related fields. Right now there are 39 speakers available for talks for your user group. As a user group responsible, you can request ...

#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)

The keynote is transmitted live at http://tinyurl.com/2x63xc

#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: 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 ...

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 ...

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). This is not the final version, but it is as close as it is ever going to be before it is officially released. This version should be feature complete, so there is already a lot to ...

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

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. The toolkit must be installed manually for now. My next task is to prepare an installer, which should allow installing everything automatically, and also checking for upgrades, upgrading automatically and uninstalling the toolkit. For now however, a little manual work must ...

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. Update: An automated Setup for the WPF and Silverlight MVVM Light Toolkit is available. Please use the automated Setup from now on. If you are unable to use the automated setup for any reason, please contact me at laurent@galasoft.ch. More information about the Setup and ...

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. Attached Behaviors leverage a feature of WPF called Attached Properties, that allows you to add a property to an element even if this element doesn't implement ...

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. ...

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: DotNetContinuum: This solution contains the following projects: DotNetContinuum: a WCF service configured with 2 endpoints (SOAP and JSON), as well as 3 client applications: DotNetContinuum.Mvc: ...

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. Apple is not the only one working on that, of course. Firms like Perceptive Pixel or Oblong have been exploring this space for a very long time. (watch ...

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. We started the sessions only 15 minutes late on the last day. Everyone stayed calm. ...

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. Like we mentioned in the previous post, the property IsSynchronizedWithCurrentItem is very handy to keep a List-Details view in synchronization. However, this handy property is not implemented in Silverlight 2. When the team at Microsoft ...

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. One of the features I really like in Windows Presentation Foundation is the ability to set a flag on various list controls (such as ListBox, ComboBox, etc...) deriving from the Selector class. This flag is named IsSynchronizedWithCurrentItem. ...

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 :) Done? Great. Making this entry was a lot of fun, and I think it is really good and got a real chance to win. This is why I needed a little time thinking before I accepted the offer that was made to me to become a judge on the MIX 10K contest. Of course, when you think about it, it's an offer you cannot refuse, so I accepted it and am really ...

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). Yes, French is in fact my mother tongue. I come from Lausanne, located in the French speaking ...

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!! 11th and 12th of March, Antwerp (Belgium) http://www.techdays.be/ .NET continuum: ASP.NET, AJAX, Silverlight and WPF This session will be given in English. With the release of Silverlight in 2008, ...

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. This suite is a must-have for anyone doing serious design work with Microsoft platforms such as Windows Presentation Foundation, Silverlight or even ASP.NET. In addition you get great tool such as Expression Encoder, which can encode videos for multiple platform (including the Zune) and even (with the Silverlight Streaming Publishing Plug-In) directly to your Silverlight ...

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

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

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 ...