Comment mettre un contrôle windows forms personnalisé dans une application WPF?
Comme une solution à court terme, je suis en train de confiture de une windows form 'usercontrol" dans une application WPF. Je vois dans l'application WPF vue que je peux ajouter une 'custom de contrôle de formulaire windows" pour le projet et il fait un vide de contrôle personnalisé, mais je ne peux pas comprendre comment l'ajouter. Idéalement, j'aimerais savoir comment prendre le .dll à partir de mon compilé windows les formes de contrôle de l'utilisateur et de le coller dans l'application WPF, ou importer le contrôle de l'utilisateur dans l'application WPF.
Grâce,
Sam
OriginalL'auteur Shizam | 2009-08-21
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas vraiment l'ajouter comme un contrôle de la boîte à outils comme pour une Application Windows Forms. Ce que vous devez faire à la place est "accueil" le contrôle de l'utilisateur à l'intérieur de l'application WPF.
Voir comment le faire sur MSDN.
Voici un exemple de comment utiliser un masqués zone de texte (que vous pouvez facilement modifier pour utiliser votre contrôle personnalisé):
Avez-vous d'ajouter une référence à la
System.Windows.Forms
montage de votre dossier de Références?Yup, ajouté au dossier de références. J'ai regardé autour de certains et est venu de retourner à la page liée, puis trouvé la page ci-dessus, il vous montre comment ajouter un contrôle WF à l'aide de c# au lieu de XAML. J'ai essayé et cela a fonctionné, donc, pour quelque raison que ce soit lors d'une WPF Application Web, je ne peux pas le faire fonctionner via le XAML, mais je peux par c#. msdn.microsoft.com/en-us/library/ms751761.aspx
Le marquage de cet homme de la réponse qu'il m'a conduit à la solution: msdn.microsoft.com/en-us/library/ms751761.aspx
Génial, ce fonctionné comme prévu. J'ai été en mesure de prendre la résultante de fichier dll à partir de mon windows forme de contrôle de l'utilisateur et de l'ajouter comme une référence, puis l'ajouter à la WindowsFormsHost. Belle.
OriginalL'auteur Kredns
Ajouter une référence à System.De Windows.Formes et WindowsFormsIntegration à votre Projet
Et place de Windows formes d'accueil dans la fenêtre.
Maintenant dans le code C#
Si je sors de l'WindowsFormsHost peu, il fonctionne très bien. Lien vers le code et l'erreur: bit.ly/aGqfG
Ah, donc je suis en train de faire un "WPF Application Web" et non en "Application WPF", pas sûr que cela n'a aucune incidence.
OriginalL'auteur Sauron
Lucas réponse est correcte, mais je voulais ajouter quelque chose de nécessaire. Si vous êtes à la création d'une application web, vous devez modifier le paramètre de Sécurité C'est une application de confiance. Je ne pouvais pas obtenir le contrôle WindowsFormsHost au travail avant de le faire.
OriginalL'auteur Duane McKinney