Transparence c # WPF sur les contrôles Winform

J’ai un contrôle WPF que je voudrais superposer sur une application WinForms. J’ai donc consciencieusement créé un hôte d’élément pouvant afficher l’object WPF suivant:

           

Le problème est que les contrôles de la fiche WinForm ne sont pas rendus et que WPF les efface simplement à l’écran.

L’élément hôte est créé comme suit:

 dialogHost = new ElementHost(); dialogHost.Child = dialog; dialogHost.BackColorTransparent = true; dialogHost.BringToFront(); dialogHost.Show(); 

Y a-t-il quelque chose que je devrais faire et que je ne fais pas?

Existe-t-il des problèmes concernant l’affichage de contrôles WPF transparents sur Winforms?

Des articles qui peuvent aider?

Note: Cette question est liée à cette question

Je pense que vous rencontrez un problème d’espace aérien . Autant que je sache, vous ne pouvez pas mélanger la transparence WPF et la transparence ElementHost puisque ElementHost est propriétaire de l’espace aérien.

Le lien sur la création de répertoires non rectangulars pour héberger du contenu WPF est bref, et cela peut vous amener plus loin.

Peut-être pourriez-vous envisager de migrer davantage de l’application WinForms vers WPF?

Vous devriez lire ceci: Fond noir avant de charger un contrôleur wpf lors de l’utilisation d’ElémentHost Il suffit de le cacher et de le montrer (pas cool mais ça marche)

Vous avez probablement déjà essayé cela, mais qu’en est-il de définir l’opacité sur le contrôle utilisateur?

Cela semble être le problème de l’ espace aérien interop.