Visual Studio

KAXAML

Expression Blend

Other Tools

XAML Converters

Graphical Designers

Utilities

XAML Editors

Finally...




WPF Tutorial Contents

APL  Home Page


Introduction

Possibly the most tedious aspect of native APL/W GUI code is creation and fine-tuning of form layout; never really got on with Arachnid so everything was written and tweaked  as text definitions.   There's a lot of flexibility in APL/W's native functionality - including adding, removing and changing controls on the fly - which undisciplined programmers can wreak havoc with.

Visual tools for defining and modifying window/form design seem like a good idea, and one "sell" for WPF/XAML is that we can hook ourselves up with industry-standard tools.

So, what's out there and what can we do with it?

Visual Studio

Well, you'd expect Microsoft to have something on the table, and Visual Studio Espress hits the cheapskate button - download and use it for free.  Dipped in and out of Visual Basic over the years - the first surprise is at how little is on offer by way of controls to put onto your windows and forms, essentially it's just the stuff we've become used to over the past decade or so.

Pick-and-click layout is easy to handle, and useable XAML files result (although they may need a little tweaking to iron out confusion about whether ANSI or Unicode is ruling the day).

Two main downsides to Visual Studio as a design tool...

KAXAML

KAXAML is a relatively simple (and free) editor/viewer for XAML files; it does not offer point-and-click design functionality.  Advantage over a simple text editor is (obviously) that  it is context-aware (giving you some protection against typing errors) and that it lets you look at what you made away from the application context.

There are other similar tools, which I haven't yet looked at.  Maybe that will happen as and when I explore KAXAML (and its limitations) further.

Expression Blend

One of the big "management" pitches for WPF/XAML is that it separates the visual/GUI design process from the application code - which may be helpful if your application is being put together by a horde of knuckle-dragging coders but seems (to me at least) to be less of an issue with small/nimble APL development groups (where the designer probably is also the programmer - no room for two heads here).

Expression Blend is Microsoft's physical realisation of the split, being the designer-targetted GUI design tool.  Predictably enough it comes bundled into a mega-package called Expression Studio targetted at the well-heeled corporate market.  it does seem to be smarter than Visual Studio in so far as styles are more visibly recognised - but there aren't enough hours in the day (or pounds in the pocket) for further exploration by this writer.

Other Tools

Looks like every little software house out there is seeing "business opportunities" in WPF and XAML and attempting to empty our wallets at every turn.  Free trial are usually available, but I'm not very inclined to explore because much of what I've seen hasn't been particularly impressive - I'll add comments whenever I see something that seems to offer true value for money (even value for no money seems a rare thing sometimes...).

XAML Converters


Tools to convert "other formats" into XAML files - haven't found one that converts APL...

Graphical Designers


Not quite sure what these have to offer over and beyond Visual Studio...

Utilities


Looks like a little sub-industry bolting onto Visual Studio - haven't seen anything beguiling yet...

XAML Editors


Tried KAXAML (described above), found that it wasn't too clever when confronted with .NET 4 controls like the Calendar - wasn't convinced that it was offering me a great deal once I'd started to get some workable stuff going in APL and haven't pursued whether or how it could be updated to handle this stuff.  A lot of the other XAML editors seem to be similarly dated, so I'm sticking with a tarted-up NotePad replacement, building changes to XAML files incrementally and dealing with the messages spewed into the APL Ststus Window when things go awry.

PSPad

PSPad is a free-to-use general-purpose editor, nothing particularly special in the way it deals with XAML files.  It does offer tab-based editing of multiple files.

XMLPad 3

XMLPad 3 is a free XML-specific editor and - as such - shows outlining (which is useful once you start nesting Grids, StackPanels and other controls.  But it dpoesn't seem to cope with Unicode very well (entering APL characters, for example) and it comes with a lot of  assumptions about "teams" and "projects".

XML NotePad 2007

XML NotePad 2007 is also a free XML-specific editor which seems much simpler in its ambitions and does seem to handle input of APL characters (and you can set the display font to be APL-friendly as well).

Finally...

One of the frustrating things about many of these design tools is that they are intended to be used "in context" - for example Visual Studio assumes that your XAML files are accompanied by a whole set of associated project files.  So, if you start doing things convenient for you (for example putting place-holders into XAML files that you intend substituting with proper values within your APL code) the visual design tools may (at best) fail to render (at worst they'll helpfully undo some of your hand-tweaking).  I don't know how to get round this at present, maybe there's a way to create a compatible set of project files (but things are looking alarmingly over-complex if we go down this road).