WPF – Switching from WPF app to xbap

wpfxbap

I have a working WPF application. I would like to see it running as an xbap. What do I need to change in my WPF app to make it run as an xbap?

Best Answer

When it comes to what you can do graphically, the only difference between the two is that XBAP can't use BitmapEffects. Other than that, the sandbox security issues are pretty much the only things you need to deal with. Most pure WPF programs should transition smoothly.

Check out this comparison of the differences between WPF and XBAP.

Here's a tutorial for creating an XBAP application.

Based on that there's a fairly simple refactor you can do to accommodate both WPF and XBAP for your program.

  • First, move all of your WPF code into a .dll project separate from the core WPF EXE project. Reference this project in your core WPF EXE project.
  • Modify the EXE project's App.xaml to point to your main page from your .dll project.
  • Create a new XBAP project.
  • Reference the dll project mentioned above in your XBAP project
  • Modify the XBAP project's App.xaml to point to the main page from your .dll
  • Publish and run.