IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

integrer des control winforms sous WPF


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 9
    Par défaut integrer des control winforms sous WPF
    Bonjour a tous
    Je suis entrain de réaliser une application en WPF et j'aimerai integrer des control personnalisés que j'ai créé en winforms.
    Est ce que quelqu'un pourrait me fournir des pistes qui me permettrait de le faire ?
    Merci de m'aider.

  2. #2
    Membre chevronné Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Par défaut
    Salut,
    il faut utiliser le contrôle WIndowsFomrsHost :
    http://msdn.microsoft.com/en-us/libr...formshost.aspx

    je crois qu'il faut ajouter une référénce qui n'y est pas par défaut, cherche dans l'onglet références .NET un truc avec FormsIntegration dans le nom.

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    oui quand tu rajoute il integre cette assembly
    par contre apres faut metter system.windows.forms
    avec un xmlns pour trouver les composants
    par exemple ca donne ca avec un propertygrid
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <Window x:Class="WpfApplication1.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:form="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
        Title="Window1" Height="500" Width="551">
        <Grid Background="Azure">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*" />    
                <ColumnDefinition Width="200" />
            </Grid.ColumnDefinitions>
            <DockPanel>
            </DockPanel>
            <WindowsFormsHost Grid.Column="1" Name="windowsFormsHost1" >
                <form:PropertyGrid x:Name="propertygrid" />
            </WindowsFormsHost>
        </Grid>
    </Window>

  4. #4
    Nouveau membre du Club
    Inscrit en
    Août 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 9
    Par défaut comment faire si ce n'est pas un control prédéfini?
    Merci pour vos réponse maintenant j'ai bien saisie comment intégré un control winfroms dans une appli WPF mais mon probleme maintenant est comment intégré un control personnalisés que j'ai créé
    j'ai integré le code du control "MyGrid" dans mon appli wpf et dans l'explorateur de solutions j'ai ajouté les référence nécessaire pour que les using soit reconnu maintenant mon appli ne signale aucune erreur mais dans la barre d'outil j'ai pas le control MyGrid comme dans winforms je ne sais pas comment est ce que je peux y accéder. Si quelqu'un d'entre vous a une solution...

    Merci bcp

  5. #5
    Membre chevronné Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Par défaut
    Tu dois réaliser un alias dans le code xaml : regarde en haut du document xaml, parmi les attributs de l'élément racine (ta page, ton UserControl, ta Window...), tu peux void par ex. "xmlns=....".
    Tu dois réaliser la même chose pour pointer vers le namespace de ton contrôle personnalisé. En fait tu tape "xmlns:exemple=" et l'intellisense te permet de choisir l'espace de noms cible. Ensuite, là où tu veux mettre ton contrôle, tu tape "exemple:" et l'intellisense devrait de proposer ton contrôle.

    En code ça donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <Window x:Class="MonAppli.Window1"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     
            xmlns:monNamespace="clr-namespace:MMaSociete.MonNamespace;assembly=monProjet">
     
        <WindowsFormsHost>
            <monNamespace:myGrid/>
        </WindowsFormsHost>

  6. #6
    Nouveau membre du Club
    Inscrit en
    Août 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 9
    Par défaut probleme avec les fonctions du control
    Bonjour tout d'abord je tien a te remercier pour ton aide ça m'a bcp servie et j'ai enfin réussi a insérer mon Control
    maintenant je n'arrive pas a utiliser les fonction du control bien qu'elle sont bien défini dans le code du control et j'ai bien ajouté toute les références, j'ai toujours un probleme

    par exemple sur Winforms je pouvai mettre pour réinitialiser ou pour remplir la grid maintenant a la complilation ça me signale l'erreur suivante
    System.windows.controls.MyGrid ne contient pas une définition pour Renit et aucune methode d'extention Renit accepte un premier argument de type windows.control.MyGrid n'a été trouvé (une directive using ou une référence d'assembly est elle manquante ?)
    et c'est le cas pour toutes les fonctions alors qu'elles sont bien définies dans le control et elle ne pose aucun probleme au niveau du code.

    Merci

Discussions similaires

  1. "Transformer" des controls windows.foms en controls WPF
    Par olsimare dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 06/03/2008, 19h21
  2. Réponses: 10
    Dernier message: 16/11/2007, 07h37
  3. Réponses: 1
    Dernier message: 19/10/2007, 06h44
  4. probleme d'utilisation d api c dans des controle forms avec wpf
    Par ZashOne dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 24/07/2007, 12h04
  5. ajouter des control dans une onglet de sstab sous VB6
    Par aymane_farissi dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 26/09/2005, 13h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo