Utiliser des control creer sous winforms en WPF

Résolu
cs_Mimo11 Messages postés 12 Date d'inscription vendredi 10 octobre 2008 Statut Membre Dernière intervention 25 juin 2010 - 9 déc. 2009 à 13:51
sofienjustdoit Messages postés 6 Date d'inscription jeudi 12 avril 2012 Statut Membre Dernière intervention 24 mai 2012 - 4 mai 2012 à 18:43
Bonjour a tous
j'ai suis entrein de réaliser une application avec WPF et j'aimerai utiliser des control que j'ai déja creer avec winforms, y'a t'il un moyen de les utiliser sans convertir le code car lorseque je les utilises directement le code genere pas mal d'erreurs
Merci
A voir également:

16 réponses

Philenain1 Messages postés 43 Date d'inscription jeudi 8 avril 2004 Statut Membre Dernière intervention 29 mars 2010 1
18 déc. 2009 à 13:04
Je me suis fait un petit exemple vite fait et ça passe chez moi :
J'ai un usercontrol Winform qui s'appelle UserControl1

pour le faire apparaitre dans al page il suffit que je fasse :

J'ajoutes un Using :

using System.Windows.Forms.Integration;


Je déclare mon contrôle dans la classe de ma Window :

UserControl1 ctrl = new UserControl1();


Dans le constructeur de ma form après l'InitializeComponent() :

WindowsFormsHost host = new WindowsFormsHost();
host.Child = ctrl;
gridTest.Children.Add(host);


Là le contrôle apparait bien, j'ai accès aux propriétés évènements et méthode de mon contrôle partout dans ma Window.
1
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
9 déc. 2009 à 14:02
Salut

As-tu utilisé le composant WindowsFormHost ?

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé ! -
0
cs_Mimo11 Messages postés 12 Date d'inscription vendredi 10 octobre 2008 Statut Membre Dernière intervention 25 juin 2010
9 déc. 2009 à 14:23
Non!!!! peut tu stp m'éclairer la dessus
Merci
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
9 déc. 2009 à 15:04
Je savais juste qu'il existait un composant permettant d'intégrer du WinForms dans du WPF. J'ai fait un peu de recherches, j'ai trouvé le nom.

Maintenant, si tu veux plus d'informations sur ce composant, tu tapes (attention, c'est bien dur) : "windowsformshost" sur google et, ô stupeur, tu tombes sur la description MSDN de la classe. Et - encore plus incroyable - il y a un exemple d'utilisation.
Tu verras ainsi qu'il suffit de définir un namespace xml (xmlns) pointant vers l'assembly windows forms puis d'insérer un contrôle de cet assembly à l'intérieur de ton WindowsFormsHost.

La prochaine fois, merci de faire des recherches avant de poser la question.

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé ! -
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Mimo11 Messages postés 12 Date d'inscription vendredi 10 octobre 2008 Statut Membre Dernière intervention 25 juin 2010
9 déc. 2009 à 16:14
Merci pour ta réponse
je sais que je peux chercher sur le net et je l'ai déja fait mais mon probleme c'est que tout ce que j'ai trouvé c'est des exemples pour intégrer des control prédéfini de winforms tel les Grid, MaskedTextBox et autre

moi je veux intégrer des control que j'ai créé et je n'ai pas trouvé d'exp sur ça. j'aimerai savoir ou est ce que je dois mettre le code *.cs du control etc... et coment utilisé le WindowsFormHost dans ce cas la, comment faire appel au control car en integrant le control *.cs directement ça me genere des erreurs à l'exe

Merci
Mimo
0
cs_moustik27 Messages postés 6 Date d'inscription jeudi 10 décembre 2009 Statut Membre Dernière intervention 24 décembre 2009
11 déc. 2009 à 12:07
j'ai le meme probleme, alors est ce que klk1 d'entre vous a une idée
0
cs_moustik27 Messages postés 6 Date d'inscription jeudi 10 décembre 2009 Statut Membre Dernière intervention 24 décembre 2009
11 déc. 2009 à 14:34
S'il vs plait quelqu'un peut me dire comment ajoutez une référence à l'assembly WindowsFormsIntegration nommé WindowsFormsIntegration.dll dans l'Explorateur de solutions
j'ai trouver cela en cherchant une reponse a ma question
Merci
0
cs_Mimo11 Messages postés 12 Date d'inscription vendredi 10 octobre 2008 Statut Membre Dernière intervention 25 juin 2010
11 déc. 2009 à 16:14
Slt Moustik
pour t'as question y'a rien de plus simple va dans l'exporateur de solution et click droit sur ton projet et selectionne ajouter une réference et choisit WindowsFormsIntegration et toute celle ke t'en a besoin
pour ce qui est du probleme de d'integration d'un control personalisé, je bloque toujours sur ça... alors si quelqu'un a une proposition, elle sera la bienvenue!
Mimo
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
11 déc. 2009 à 16:31
Je n'ai pas VS2008 sous la main. Mais si je ne m'abuse, lorsque l'on ajoute un xmlns, une saisie automatique nous permet de voir les différents assemblies/namespaces du projet et donc celui possédant le contrôle WinForms.
Après, il s'intègrera comme sur l'exemple MSDN

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé ! -
0
cs_moustik27 Messages postés 6 Date d'inscription jeudi 10 décembre 2009 Statut Membre Dernière intervention 24 décembre 2009
11 déc. 2009 à 16:54
Merci Mimo ça a marché mais le plus dure reste a faire...:(
si je trouve une solution je te ferai signe, et si quelqu'un a une idée bein qu'il n'hesite surtout pas
Merci a toi oci Krimog pr ta réponse

Moustik ;)
0
cs_moustik27 Messages postés 6 Date d'inscription jeudi 10 décembre 2009 Statut Membre Dernière intervention 24 décembre 2009
18 déc. 2009 à 15:34
Bonjour Philenain je te remercie bcp pour ta réponse mais j'ai un probleme j'ai essayé en suivant tes etapes mais mon control ne s'affiche pas a l'exe

voila mon code

using System.Windows.Forms.Integration;
using Mycontrol_namespace;


namespace Wpf_Ctl
{
/// <summary>
/// Logique d'interaction pour Window1.xaml
/// </summary>
///
public partial class Window1 : Window
{
Mycontrol ctrl = new Mycontrol();
public Window1()
{
InitializeComponent();


WindowsFormsHost host = new WindowsFormsHost();
host.Child = ctrl;
canvas1.Children.Add(host);
}

il est vrai que je retrouve les propriétés de mon control ainsi que ses fonctions mais je ne comprend pas pourquoi mon control ne s'affiche pas dans le canvas1, alors avez vous une idée sur ça car j'aimerai afficher mon control dans le canvas1;

Merci
0
cs_Mimo11 Messages postés 12 Date d'inscription vendredi 10 octobre 2008 Statut Membre Dernière intervention 25 juin 2010
21 déc. 2009 à 17:41
merci Philenain ça a réglé mon probleme ;)
0
cs_Mimo11 Messages postés 12 Date d'inscription vendredi 10 octobre 2008 Statut Membre Dernière intervention 25 juin 2010
22 déc. 2009 à 10:24
slt moustik
essaye de changer ton canvas par une Grid et ça s'affichera normalement
0
cs_moustik27 Messages postés 6 Date d'inscription jeudi 10 décembre 2009 Statut Membre Dernière intervention 24 décembre 2009
24 déc. 2009 à 00:11
Merci Mimo pour ton aide ça a marché
0
sofienjustdoit Messages postés 6 Date d'inscription jeudi 12 avril 2012 Statut Membre Dernière intervention 24 mai 2012
2 mai 2012 à 15:38
Bonjour a tous , j ai une petite problème dans ce contexte et vraiment je sais pa comment faire pour le régler ..

Bon alors tous simplement :
1- j ai créer mon application WPF
2- dans mon MainWindow j ai inséré un windowsFormsHost
(pour hoster un userControl (Windows Forms) qui contient un bouton..)

= >lorsque je fais l exécution ;; mon userControl s affiche bien !!,

>La Problème!!! c'est que si je change la propriété:
-MainWindow. allowsTransparency =true
;
(avec MainWindow.WindowStyle =None;)

Le userControl devien invisible et se cache; (si je change MainWindow.allowsTransparency = false
il s affiche bien !)

Quelq'un a un solution pour afficher mon windows userControl dans mon MainWindow en gardant MainWindow.allowsTransparency =true ?????????????
Car je doit afficher des transparences dans le form MainWindow(form pas rectangulaire..)
Merci d avance :)
0
sofienjustdoit Messages postés 6 Date d'inscription jeudi 12 avril 2012 Statut Membre Dernière intervention 24 mai 2012
4 mai 2012 à 18:43
Bonjour a tous Merci bien pour cette discussion trés utile :)

Bon , j'ai une petite problème et vraiment je sais pas comment faire pour le régler..
j 'explique :

Bon alors tous simplement :
1- j ai créer mon application WPF
2- dans mon MainWindow j ai inséré un windowsFormsHost
(pour hoster un userControl (Windows Forms) qui contient un bouton..)

lorsque je fais l exécution ; mon userControl s affiche bien !!,

>La Problème c'est que si je change la propriété:
-
Code :Sélectionner tout - Visualiser dans une fenêtre à part
MainWindow.allowsTransparency =true;
(avec MainWindow.WindowStyle=None Le userControl devien invisible et se cache;
>(si je change MainWindow.allowsTransparency =false il s affiche bien !)

Quelq'un a un soultion pour afficher mon windows userControl dans mon MainWindow en gardant MainWindow.allowsTransparency =true ?????????????

*Car je doit afficher des transparences dans le form (form pas rectangulaire..)
Merci d avance
0
Rejoignez-nous