WindowsFormsHost est toujours le plus haut de l'élément WPF
comment définir le z-index windowsformhost qu'ils ne sont pas toujours au top de la WPF élément ?
source d'informationauteur Andy Kurniawan
Vous devez vous connecter pour publier un commentaire.
Selon MSDN (Mise en page Considérations pour la WindowsFormsHost Élément)
C'est une limitation de conception
Un autre bon article de MSDN qui explique les problèmes possibles lors de l'utilisation de différentes technologies graphiques de Windows est La Technologie Des Régions Aperçu
Cependant une recherche sur google, j'ai trouvé qu'il semble y avoir certains piratages (connu comme la restriction de l'espace aérien)
Un hack (jamais essayé personnellement si vous ne savez pas si il fonctionne) est à
ce lien
Mise à jour, quelques années plus tard (2016-09):
Ma réponse suivante, comme l'a noté le top commentaire, n'est plus valide, et n'était pas disponible dans la version finale .NET 4.5, ou les versions ultérieures. Malheureusement, le lien que j'ai compris encore a z-informations pour la commande pour HwndHosts présent pour la version "courante" de .NET, ce qui pourrait conduire certains à croire que cette fonctionnalité n'est, en fait, existent. Il n'a pas. Il n'y a pas de travail.
Réponse originale à cette question:
Un an plus tard, les choses ont un peu changé .NET 4.5. Pour ceux qui tombé sur ce, comme je l'ai fait, ici, c'est un plus mis à jour extrait de Procédure pas à pas: Organisation des Contrôles Windows Forms dans WPF sur MSDN:Tout ce que vous devez faire, lors de l'utilisation .NET 4.5, est d'ajouter les attributs suivants à votre WindowsFormsHost élémentIsRedirected="True"
etCompositionMode="Full"
ouCompositionMode="OutputOnly"
.Je viens de rencontré le même problème.
Il y a un risque de contournement - selon la nature de l'Hôte Windows de la fenêtre de contrôle et de WPF élément que vous souhaitez afficher:
Que j'ai lié la la
WindowsFormsHost
du contrôleVisibility
à une propriété sur mon modèle de vue pour me permettre de masquer l'hôte (et les commandes) lorsque je veux afficher les WPF que nous voulons apparaître sur elle.Dans ma situation, mon WindowsFormsHost est dans un deux ligne de la Grille. La ligne du bas a un StackPanel qui change de Hauteur en fonction de ce qu'il contient. J'ai poignée StackPanel de LayoutUpdated événement pour redimensionner mes WindowsFormsHost en soustrayant c'est ActualHeight à partir de la Grille de l'ActualHeight. Assurez-vous d'utiliser ActualHeight pas la Hauteur.