The good folks at Codeplex, the folks who bring you the free-as-in-beer Hyper-V PowerShell SnapIn
also bring you the PowerShell PowerBoots.
“ PowerBoots makes it easier for scripters to create graphical user interfaces in PowerShell, exposing much of the power of WPF to PowerShell in a simple syntax which supports events, threading, and much, much, more.
PowerBoots is written as a script module which dynamically generates functions into static script files for each WPF control, combined with a compiled module called PoshWpf which was originally part of PoshConsole (and includes the Out-Wpf cmdlet and New-BootsWindow cmdlets among others) ... the module enables threaded UIs as well as enabling support for styles, control templates and data templates.
The result of this is that PowerBoots does not require that PowerShell be run with the -STA switch, and virtually everything works not only in PowerShell 2.0, but in PowerShell 1.0