Tuesday, November 9, 2010

WPF vNext: Microsoft will solve the ‘Airspace problem’

If you ever tried to combine multiple UI technologies like WPF and WinForms, you sooner or later are confronted with the ‘Airspace problem’. “Airspace" is a conceptual way of thinking about how the two halves of an interoperation application share the rendering areas within a common top-level window. This article explains how the "airspace" concept might influence the presentation design as well as the input considerations for your WPF interoperation application.

Practically speaking, this means that WinForms content hosted in a WindowsFormsHost always appears on top of WPF content. So if you are using WPF adorners they will appear to be "trimmed" if they hit up against a WinForms region in your app. There are some tricks to tackle this issue, but none of them are really clean.

On the screenshot below you see that the calendar control on the left hosted in a WindowsFormsHost is not overlayed by the red bar although it has the highest z-index defined in XAML.

At PDC 2010, Rob Relyea announced that they will try to tackle this issue in WPF 4. I guess it will not be easy, but if they succeed, they’ll have at least one happy customer…


Anonymous said...

Should that not be WPF 5, as WPF 4 is already out

Anonymous said...

I think if they solve the airspace issue with WebBrowser, they will have solved 90% of the problem. Other controls can easily be solved by writing a custom/user control, but the WebBrowser is way too complex for that.