AirspaceFixer
AirspacePanel fixes all Airspace issues with WPF-hosted Winforms.
Install / Use
/learn @chris84948/AirspaceFixerREADME
Airspace Fixer
AirspaceFixer is a small lightweight project that only contains a single control - AirspacePanel.
If you've ever had to host any WinForms forms inside a WPF project, you might know about the dreaded Airspace problem. Basically, the WinForms control must always be on top. Even if you try to put a modal dialog on top of the WinForms control, this Airspace issue forces the WinForms control on top.
Now, you may be thinking, WinForms, gross, I'll never do that, well, me too, but I had to use the WebBrowser control recently, and since it's a legacy control (made in WinForms), the same Airspace problem applies.
AirspacePanel aims to fix this problem by allowing you to host any content you like inside of it, and swapping out the content for a screenshot of the content when you need to place a modal dialog on top of it. This swap is done by using the dependency property FixAirspace. Here's an example -
xmlns:asf="clr-namespace:AirspaceFixer;assembly=AirspaceFixer"
<asf:AirspacePanel FixAirspace="{Binding FixAirspace}">
<WebBrowser x:Name="Browser" />
</asf:AirspacePanel>
See the sample app for more info on how to use it.
AirspaceFixer is also available in Nuget to include as a package.
Related Skills
node-connect
350.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
110.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
350.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
350.8kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
