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 Forms Discussion :

Interagir avec un HostedContent WPF ?


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 31
    Points : 20
    Points
    20
    Par défaut Interagir avec un HostedContent WPF ?
    Hop bonjour , question assez simple est il possible, et comment si oui, d'interagir sur un hostedcontent wpf via windows form?

    Exemple simple et qui m'aiderais dans ce que je veux faire, j'ai ma WindowsForm dans laquelle a gauche j'ai 1 bouton tout bête à cliquer et a droite le WPF "hostedcontent" qui contient 2 images (image1 et image2 par ex) et je voudrais qu'en appuyant sur le bouton qui est dans la WindowsForm que cela fasse passer l'image2 en invisible par exemple

    Merci d'avance

  2. #2
    Membre émérite
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Points : 2 682
    Points
    2 682
    Par défaut
    Oui c'est possible si ton control WPF le permet
    Je te poste un code exemple pour que mon explication soit claire.
    Ce code est issue de ce blog :

    http://www.switchonthecode.com/tutor...pf-in-winforms

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Drawing;
    using System.Windows.Forms;
    using System.Windows.Forms.Integration;
     
    namespace WPFInWinForms
    {
      public partial class Form1 : Form
      {
        public Form1()
        {
          InitializeComponent();
     
          ElementHost elhost = new ElementHost();
          elhost.Size = new Size(110, 60);
          elhost.Location = new Point(45,35);
     
          MyWPFControl wpfctl = new MyWPFControl();
          elhost.Child = wpfctl;
     
          this.Controls.Add(elhost);
        }
      }
    }
    si ton control WPF te permet d'accéder à une méthode (de ton cru) permettant de clicker (ClickMe par exemple), il suffit juste de la lancer.

    Si tu n'as pas la main sur le usercontrol WPF peut être qu'en simulant des clicks de souris... Mais là c'est du bricolage

    EDIT :

    Je me suis un peu emmeler les pinceaux avec ce que tu voulais faire (images à gérer et non click sur le control WPF) mais le principe est le même
    .
    Pas de question technique en MP, merci.
    .
    Un emulator Gameboy Color pour Windows Phone ?
    c'est moi qui l'ai fait

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    je vais essayer de regarder tout ca merci =)

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    alors par le biais de mes recherches j'en était a peu prés la j arrive à mettre le user control etc mais au niveau de l'interaction je comprends pas grand chose

    y aurait pas un truc tout bête pour dire basiquement dans windowsForm que

    if blabla = truc
    then image1 de wpfcontrol= invisible

    ?

  5. #5
    Membre émérite
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Points : 2 682
    Points
    2 682
    Par défaut
    As-tu les sources du control WPF ?
    Si oui, il suffit de créer dans le control WPF une méthode ou une propriété publique du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    wpfcontrol.SetImage1Visible(isVisible);
    .
    Pas de question technique en MP, merci.
    .
    Un emulator Gameboy Color pour Windows Phone ?
    c'est moi qui l'ai fait

  6. #6
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    ayant crée le usercontrol et ajouter les sources normalement c est tout bon mais j'ai du mal étant donné que je ne maitrise pas du tout wpf a tout comprendre entre ce qu il faut mettre dans C# et ce qu il faut mettre dans wpf mais bon je me bat avec ca va bien finir par fonctionné )

  7. #7
    Membre émérite
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Points : 2 682
    Points
    2 682
    Par défaut
    Angelssen,

    Peut-être ne suis-je pas assez clair dans mes réponses

    Si tu veux plus d'information sur WPF n'hesites pas à poster sur le forum nous tacherons de te venir en aide.
    .
    Pas de question technique en MP, merci.
    .
    Un emulator Gameboy Color pour Windows Phone ?
    c'est moi qui l'ai fait

  8. #8
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    j'y suis presque e week end et son recul m'ayant aider comme j'arrive a modifier un label je recherche la syntaxe pour la visibilité des images et ca devrait rouler

    vu que ceci modifie l affichage du label
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monUC.Label1Value = "blabla";
    j essaie de trouver a syntaxe sur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monUC.image1.EtCestLaQuilMeManqueLaSyntaxe

  9. #9
    Membre émérite
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Points : 2 682
    Points
    2 682
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monUC.image1.Visibility = Visibility.Collapsed;
    Voila !
    C'est mon 200em message, je suis content
    .
    Pas de question technique en MP, merci.
    .
    Un emulator Gameboy Color pour Windows Phone ?
    c'est moi qui l'ai fait

  10. #10
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    ok alors je pense qu'i me manque un dernier détail si tu veux passer es 200 ce sera bien, cest que je n'ai pas du mettre une info dans le code du usercontrol car il me dit que le Visibility apres le = n'existe pas dans le contexte =)

  11. #11
    Membre émérite
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Points : 2 682
    Points
    2 682
    Par défaut
    Sans vouloir être pas sympa, ca serait bien de chercher un peu par toi même

    bon, il faut rajouter une référence PresentationCore.dll (librairie de WPF)

    http://msdn.microsoft.com/en-us/libr...isibility.aspx

    et donc un using de ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    using System.Windows;
    Sinon tu peux coder coté WPF une méthode de ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public void SetImageVisibility(bool isVisible)
    {
      if( isVisible == true )
      { 
         this.image1.Visibility = Visibility.Visible;
      }
      else
      {
         this.image1.Visibility = Visibility.Collapsed;
      }
    }
    et donc coté WinForm plus besoin de connaitre l'enum Visibility (plus de reference à WPF)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      monUC.SetVisibility(false);
    .
    Pas de question technique en MP, merci.
    .
    Un emulator Gameboy Color pour Windows Phone ?
    c'est moi qui l'ai fait

  12. #12
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    Coucou et merci.. pour la dernière fois ) Crois bien que j'ai user google et tout le reste mais je bloquais sur la construction de la syntaxe coté wpf ne maitrisant pas ce dernier

    grace à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public void SetImageVisibility(bool isVisible)
    {
      if( isVisible == true )
      { 
         this.image1.Visibility = Visibility.Visible;
      }
      else
      {
         this.image1.Visibility = Visibility.Collapsed;
      }
    }
    cela regle mes soucis, sinon sous VS 2010 i faut en fait mettre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     monUC.SetImageVisibility(false);
    Merci encore )

  13. #13
    Membre émérite
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Points : 2 682
    Points
    2 682
    Par défaut
    Pas de problème
    .
    Pas de question technique en MP, merci.
    .
    Un emulator Gameboy Color pour Windows Phone ?
    c'est moi qui l'ai fait

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Interagir avec un HostedContent WPF depuis une WindowsForm ?
    Par Angelssen dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 01/03/2010, 11h25
  2. interagir avec l'api windows
    Par kouadjalain dans le forum API standards et tierces
    Réponses: 17
    Dernier message: 26/04/2006, 06h31
  3. plateforme adéquate pour interagir avec un fichier XML
    Par sebfag dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 07/02/2006, 16h53
  4. Interagir avec le calendrier outlook
    Par JeromeR dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 19/12/2005, 10h23
  5. interagir avec la webcam
    Par black_code dans le forum Modules
    Réponses: 10
    Dernier message: 16/08/2005, 00h52

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