Sizable UI and gratuitous reflections will be the hallmarks of WPF v1.0 apps IMHO - WPF equivalents of the “blink” and “marquee” tags in the netscape navigator “gold” days. Here’s a little app I’m working on that uses both. In future incarnations it will display geography-specific data, but right now I’m just getting the basics down - reflections using a VisualBrush and scaling using a LayoutTransform. A video (which is a bit grainy and doesn’t really do the sizing justice) is available here [226 KB].

Comments
»
I spent the evening trying to get M3rlin (my “little code generator that could”) working under framework 2.0 for some kind folk who are using it. M3rlin hosts the ASP.NET “engine” by creating a seperate app domain and passing data to it in order to generate code. After a few fruitless hours I eventually looked for prior art in solving this problem (I know, I’m a slow learner) and googled up this gem from ASP.NET hosting demi-god Rick Strahl and decided to call it a night (seeing it looks like Rick has done all the heavy lifting for me). There was just enough time to catch up on a few weblog posts when I came across this posting from BradA on a fairly shameful part of the .NET framework API. This is the very same part of the framework I had been looking at for most of the night - trying to get m3rlin to work by specifying more properties for the appdomainsetup object that is passed to the app domain when it is created. Going back to my text editor I think my code comment captured my feelings when working with this API.
setup.ShadowCopyFiles = “true”; // dodgy…
I’ve just started the “Framework Design Guidelines” book co-authored by BradA, it looks like good stuff. One reviewer on the back claims that “not since ‘the mythical man-month’ has the major software maker of its time produced a book so full of relevant advice”. That’s a pretty big wrap.(mental note to self - if I ever write a book get that guy to provide a quote for the back cover)
Comments
»
I had some breaking changes today when I tried to port some WPF code from the September CTP to the current (November) one. Some of the mini-languages in WPF are now gone. For those of you who haven’t been exposed much to WPF mini-languages are little non-xml pieces of short-hand that got stuffed into an attribute value - there is always a longer and more verbose equivalent. Some of the things that were removed for the Nov. »
I just wanted to share some sad news - My Iomega External HD was found dead in its Maine home this afternoon, aged 4 months. I lost about 10 VPCs :-(, some of which aren’t backed up. Fortunately no code was lost. There weren’t any more details. Sorry for the weird wording for this post. »
I want to write an application with WPF that requires a world map, and wanted to use a vector-ish one that would re-size nicely. I was able to find this SVG[1] world map, and used Xamlon’s SVG to Xaml converter to convert it to Xaml. After removing one spurious namespace at the top I was able to load it up in XamlPad. The results are shown below (the SVG version is displayed in the open-source vector drawing program Inkscape). »
I’m a pretty big fan of virtualization, so I was interested in Invirtus’ VM Optimizer product when I first heard about it. Its an application that runs inside your virtual OS and deletes un-necessary files, defragments your virtual hard-drive and makes other improvements to help reduce the size and increase the speed of your virtual OS. Recently I downloaded the 14-day trial to see if this technology really worked. After some less-than-wildly successful first attempts I was able to cut down my 6GB XP+Weblogic VPC image to around 1. »
There are a number of .NET related performance counters you can view/log. One category of counters relates to JIT compilation, and includes a counter called “% Time in Jit”. This counter seems misleading to the point of being worthless. Take a look at the following graph of popular desktop news aggregator RSS Bandit’s %Time in JIT (RSS Bandit happened to be a .NET app I currently had running, you can repro this with ASP. »
Yesterday I showed an example of some WPF Xml data binding via XPath. Cooler still is the fact that (true to the spirit of data binding) when controls are updated the underlying data source (in this case Xml) is also updated. The only slight modifications to last night’s example required was the swapping the TextBlock used to show the details for a TextBox so some values could be edited, and the inclusion of a save button. »
After receiving the Chirs Sells/Ian Griffiths WPF book recently (and having read most of it) I’ve started to make forays into writing WPF code. Its always a bit of a “reality check” when you leave the safe and easy environs of book/SDK demos and start to try and think things up and then build them. Fortunately the book has given me (I think) the conceptual building blocks to create WPF UIs (even if some of the types mentioned in the book seem to have changed). »