Je crée un simple UserControl WPF (n'importe quel contrôle fera l'affaire) et je l'insère dans un Winform (en utilisant un ElementHost). Cela fonctionne bien. Le contrôle WPF est intégré dans le WinForm et lorsque le WinForm est déplacé, le contrôle WPF se déplace avec lui, comme le ferait un contrôle WinForm. Lorsque je change le WinForm en transparent en fixant la TranparencyKey à la même valeur que le BackColor, certains problèmes surviennent : - Le contrôle WPF n'est pas affiché - à la place, un rectangle noir s'affiche - Si le WinForm est déplacé sur l'écran, le contrôle WPF apparaît à son emplacement d'origine, comme s'il était couvert par le WinForm.
La modification des propriétés de l'ElementHost (telles que BackColorTransparent) n'a pas modifié le comportement. En réglant la BackColor et la TransparencyKey du WinForm sur Black, le problème du rectangle noir a été résolu, mais le contrôle WPF est resté à sa place initiale lorsque le WinForm a été déplacé.
Notez également que ces problèmes se produisent sous Windows XP SP3 (qui est notre OS cible) mais pas sous Windows 2003. (Nous n'avons pas vérifié sous Vista et Windows 7).
Une idée pour avoir un Winform transparent avec un contrôle WPF à l'intérieur et obtenir un comportement normal ?