According to the following WinPhone8 SDK page:
we can't develop a SwapChainBackgroundPanel app for WinPhone8. In addtion, it looks like XAML isn't even available to C++ programs. You have to use a C# shell around your C++ code to access XAML.
It would have been nice to know this MONTHS AGO, before I went down the all native code route with my Metro app.
It was known months ago. It was up on the big screen at the Windows Phone 8 announcement way back then.
It is correct that C++ cannot access XAML. There are project templates in the SDK that provide the C#/XAML wrapper around a C++/DirectX library.
It's certainly not well known or publicly mentioned on the Win8 C++ forum. I imagine I won't be the only dev surprised (negatively) by this fact. In addition, it makes no sense now that the core of both platforms is similar.
To be fair, it was announced at the Windows Phone event in June. I know it doesn't sooth your pain and buy back those hours of your life.
I guess I missed that slide in the presentation. I didn't start serious work on my Metro app until mid-July. This whole project has been frustrating and now this issue crops up (apparently, I'm the only one who didn't know). The most frustrating thing of all? Metro is a killer tablet/mobile environment for users. When I explain to people what they can do with Win8 (use their tablet for work when docked and play when undocked) they're ready to ditch their iPads.
Believe me you are not the only one thinking C++ \ XAML was supported.
Even the professional articles assume this:
Even VS Studio's Official Magazine thinks this way:
- Edited by Comptrol Sunday, November 25, 2012 7:40 AM
I abandoned my Metro/WP8 effort shortly after finding out about this incompatibility (and discovering that I couldn't generate a store distributable with VS2012 due to some sort of "manifest missing" error, when a manifest was in the project and editable!). Just not worth it for 3% market share and <$10/license. My existing Win32 apps work fine on a Win8 tablet when maximized in the Desktop.