Using T4 To Generate Pack Uris For Xaml Files

25 Nov 2009

Yesterday my fellow WPF Disciple Paul Stovell got me thinking about resolving XAML file paths. As Paul points out, there doesn’t appear to be an easy way to locate the URI for a XAML file. Internally, the generated .g.cs makes use of the path, as shown in the following excerpt: public void InitializeComponent() { if (_contentLoaded) { return; } _contentLoaded = true; System.Uri resourceLocater = new System.Uri("/PageCollection;component/pages/page1.xaml", System.UriKind.Relative); #line 1 "..\..\..\Pages\Page1.xaml" System.Windows.Application.LoadComponent(this, resourceLocater); #line default...

Read more

Calcium Part 3

21 Nov 2009

I’ve just published the third part of the Calcium series of articles. Calcium is now provided as an SDK, and comes with 12 VS Project templates (3 for 2008, 2010, C#, and VB.NET) This article looks at the changes that have taken place in the Calcium project since the first release, a number of months ago. It features an introduction to the File Service, which abstracts the displaying of dialogs and handling common IO exceptions,...

Read more

Speaking At The Swiss Alt.net Group On 25 November

19 Nov 2009

I will be speaking at the next ALT.NET Swiss user group on the 25th of November. I will be showing of latest version of the Calcium SDK, and looking at some other MVVM frameworks created by my fellow Disciples. Special thanks go out to Frederic Schafer, and Atif Aziz of Cargill International SA, for making the meeting a reality. Nice one guys. The details are: 25 November at 18:30 Cargill Conference Center Cargill International SA...

Read more

Compile Time Validation Of Composite Object Data Binding Expressions

07 Nov 2009

Introduction Prompted by a recent comment on the T4 Metadata Generation template article, which I released some weeks ago, I have implemented a new mechanism for concatenating property paths. This allows compile time validation of properties that exist on composite or nested members. Background Previously I have demonstrated how generated metadata can be used to provide compile-time validation of binding expressions. Rather than using string literals in binding expressions, one is able to use the...

Read more

Calcium Website Launch

05 Nov 2009

I’ve just launched a new website for the Calcium project. It includes a video on how to use the new version of the Calcium SDK, which I’ve also just released. I’m pretty excited about this one. The new version includes an installer that makes working with Calcium much easier, and a bunch of API refinements.

Read more