Je viens de trouver cet article sur CodeProject :
Nous voulons intégrer notre scène XNA dans une interface utilisateur WPF de la même manière que nous intégrons un canvas ou tout autre widget. Mais la meilleure façon de visualiser une scène 3D dans XNA est de l'incorporer dans une fenêtre. Il est impossible d'obtenir le handle d'un contrôle WPF comme on peut le faire avec un WinForm. L'astuce consiste donc à réécrire une partie du framework XNA qui tourne autour de la classe Game. Le but est d'hériter d'une nouvelle classe Game à partir de Panel (dans notre cas, un Canvas) pour pouvoir l'inclure dans l'arbre visuel WPF. Les limites visuelles du panneau seront la zone de visualisation de la scène XNA. Or, nous venons de dire qu'il n'est pas possible d'obtenir un handle sur un contrôle visuel qui n'hérite pas de Window. Comment afficher la 3D avec XNA alors ? Nous allons simplement afficher une fenêtre sans bordure juste au-dessus du panneau. Cette fenêtre sera toujours au dessus lorsque l'application a le focus et que le panneau est visible, elle sera donc cachée dans ce cas. De même, lorsque le panneau n'est pas visible, nous arrêterons l'activité du jeu.
Ce fil sur les forums de Microsoft, il y a une discussion à ce sujet et un poster déclare :
En conclusion, il est possible d'obtenir un rendu XNA dans un formulaire WPF sans problème, mais il faut éviter d'utiliser les classes Game et GraphicsDeviceManager, car cette dernière nécessite une instance de Game pour fonctionner (le constructeur est défini comme new GraphicsDeviceManager(Game game)) et la classe Game ne permet pas de définir la fenêtre sur laquelle le rendu est effectué.
Il semble donc que ce soit possible, mais que cela nécessite un certain travail du côté de XNA.