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 :

Equivalent windows forms / WPF


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur applications RFID
    Inscrit en
    Juin 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur applications RFID

    Informations forums :
    Inscription : Juin 2011
    Messages : 19
    Par défaut Equivalent windows forms / WPF
    Bonjour à tous,

    J'avais développé une application en windows forms qui permettait de générer des codes barres et de les afficher dans une pictureBox puis de les imprimer. Je dois porter ce code maintenant en wpf. Petit problème je ne trouve pas d'équivalent à la méthode CreateGraphics(). D'autre part, la pictureBox n'existant plus je doit utiliser une Image dorénavant selon cet article

    http://msdn.microsoft.com/en-us/library/ms750559.aspx

    J'aimerai avoir à faire le moins de modification possible. Notamment ne pas retoucher la methode DrawLabelBarcode qui dessine le code barre...

    Je vous fourni un morceau de code utilisant les windows forms:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    System.Drawing.Graphics g = this.picBarcode.CreateGraphics();
    g.FillRectangle(new System.Drawing.SolidBrush(System.Drawing.SystemColors.Control),
    new Rectangle(0, 0, picBarcode.Width, picBarcode.Height));
    CreateLabel();
    label.DrawLabelBarcode(g, new System.Drawing.Point(20, 8));
    txtChecksumDigit.Text = label.ChecksumDigit;
    g.Dispose();
    Je vous remercie pour l'aide que vous pourrez m'apporter.

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 056
    Par défaut
    A la place de graphics tu peux utiliser un Canvas qui te permet également de faire du positionnement relatif. Il existe egalement les rectangle et autre label...

    Sinon tu peux jetter un oeuil sur cet article, peut être que tout est déjà implémenté .

    http://www.codeproject.com/Articles/...rcode-Software

  3. #3
    Membre éclairé Avatar de koyot3
    Inscrit en
    Avril 2007
    Messages
    693
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 693
    Par défaut
    Bonjour boby

    Tu peux modifier ta méthode de dessin pour les codes-barres afin qu'elle te génére une Bitmap que tu convertis ensuite en BitmapImage pour afficher dans un composant WPF.

    Ou sinon, tu peux utiliser une WIndowsFormHost pour héberger du contenu Winform dans une application WPF

    Bon courage

    @+

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur applications RFID
    Inscrit en
    Juin 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur applications RFID

    Informations forums :
    Inscription : Juin 2011
    Messages : 19
    Par défaut
    Merci à vous 2.

    Mika, j'ai déjà regardé le lien que tu m'as transmis malheureusement je n'encode pas en code 39 et n'ai pas vraiment envie de réécrire l'algorithme EAN13.

    Koyot, peux-tu m'en dire plus sur les WindowsFormHost. J'ai regardé la documentation en ligne mais pas vraiment d'exemples concrets fournis. Je vais juste essayer d'instancier cette classe et on verra ce qui se passe.

  5. #5
    Membre éclairé Avatar de koyot3
    Inscrit en
    Avril 2007
    Messages
    693
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 693
    Par défaut
    Re bobby,

    C'est une solution pour héberger un composant winform classique dans une application WPF.
    Voici deux liens pour t'aider, ça sera plus simple je pense (et surtout plus clair )

    lien 1

    lien MSDN

    Par contre, ça supporte pas la superposition : c'est à dire que si par exemple à un moment donné tu veux afficher un autre UserControl WPF par dessus ta WindowFormHost et ben ça marche pô (possible avec bidouille cependant)

    Good luck

    @+

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Citation Envoyé par koyot3
    Par contre, ça supporte pas la superposition : c'est à dire que si par exemple à un moment donné tu veux afficher un autre UserControl WPF par dessus ta WindowFormHost et ben ça marche pô (possible avec bidouille cependant)
    Salut,

    Je relève ce point et surtout le "possible avec bidouille cependant" .
    Ça fait un petit moment que je n'ai pas regardé ce qui se fait sur l’interopérabilité, du coup quand tu entends que c'est possible via bidouille, tu entends quoi :
    • mettre le UserControl WPF à afficher par dessus ta WindowFormHost dans un contrôle ElementHost et ensuite ajouter cet ElementHost au sein du contenu du WindowsFormHost ?


    C'est juste pour savoir si on a la même "bidouille" dans ce genre de cas de figure ou si une solution plus intéressante existe (peut-être avec l'arrivé du framework 4.0... oui ça fait un bail que je n'ai pas regardé ce qu'il se faisait sur l'interop ^^)

  7. #7
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    ça permet d'héberger un usercontrol windowsform donc tu créer ton usercontrol en windowsform (avec ton code) et tu pourras ajouter ensuite ce usercontrol dans ton windowsformhost (je crois qu'il faut générer une dll avec ton usercontrol et l'importé dans ton projet WPF)

  8. #8
    Membre averti
    Homme Profil pro
    Ingénieur applications RFID
    Inscrit en
    Juin 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur applications RFID

    Informations forums :
    Inscription : Juin 2011
    Messages : 19
    Par défaut
    Merci Koyot! Pour ton deuxième coaching avec moi deuxième succès. Bonne après-midi! @+

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

Discussions similaires

  1. WPF signe la fin des Windows Forms ?
    Par vandamme dans le forum Windows Presentation Foundation
    Réponses: 143
    Dernier message: 28/09/2011, 14h11
  2. Mélanger des Windows Form et du WPF
    Par PhilTheGap dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 30/04/2008, 11h25
  3. [XAML/WPF] Equivalent du DataGridView des Windows Forms
    Par Nadd dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 09/01/2008, 20h35
  4. WPF signe la fin des Windows Forms ?
    Par vandamme dans le forum Framework .NET
    Réponses: 17
    Dernier message: 16/07/2007, 14h36

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