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 :

passage winform en 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
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 8
    Par défaut passage winform en wpf
    Bonjour,

    J'ai programmé pas mal de petit trucs pour mon taff en Winform et je viens de me mettre au WPF.

    Je m'en suis sorti sur presque tout mais j'ai un problème que je n'arrive pas à régler. (pourtant ça doit être très simple)

    exemple :

    J'ai un fichier "Window1.xaml" avec dessus un label "label1" et un bouton "Button1"

    Le bouton contient le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click
    essai()
    End Sub

    J'ai un fichier code qui contient la Sub essai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub essai()
    
    Window1.Label1.Content = "test"
    
    End Sub
    ça ne fonctionne pas, comment doit-on gérer le code pour pouvoir remplir un label sur une fenêtre lorsque le code n'est pas sur cette fenêtre ?

    Dites moi si je n'ai pas été assez clair.

    Merci d'avance si vous avez la réponse

  2. #2
    Membre émérite Avatar de jmix90
    Homme Profil pro
    Consultant .Net
    Inscrit en
    Juillet 2007
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 576
    Par défaut
    Hello,

    Ton bout de code est censé fonctionner. Comment est assigné Windows1 dans ton "fichier de code" ? Il faut que cela soit la même instance que celle affichée.

    Tu pourrais aussi faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub essai(Label label)
    label.Content = "test"
    End Sub

    et bien sûr :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click
    essai(label1)
    End Sub

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Par défaut
    Salut,

    en effet le code n'est pas très complexe . Il devrait passer.
    as tu positionné le handler Button1_Click dans le Window1.xaml ? Sur le bon event ?

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 8
    Par défaut
    Merci pour vos réponses.

    En fait, d'après ce que tu m'as écrit jmix90, je pense que mon problème vient du fait que Window1 n'est pas assigné dans mon fichier de code.

    Quel code je dois rajouter pour "l'assigner" ?

    Je pense que c'est juste le truc qui me manque.

    Merci beaucoup d'avance

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Par défaut
    Citation Envoyé par nelb56 Voir le message
    Merci pour vos réponses.

    En fait, d'après ce que tu m'as écrit jmix90, je pense que mon problème vient du fait que Window1 n'est pas assigné dans mon fichier de code.

    Quel code je dois rajouter pour "l'assigner" ?

    Je pense que c'est juste le truc qui me manque.

    Merci beaucoup d'avance
    Il faut utiliser une syntaxe du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <Window x:Class="WpfApplication1.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1" Height="300" Width="300">
        <Grid>
    ...
    (à adapter selon le namespace)

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 8
    Par défaut
    En fait mon fichier est fait comme ceci

    Le fichier Window1.xaml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <Window x:Class="Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1" Height="300" Width="300">
        <Grid>
            <Button Height="60" Margin="72,0,82,68" Name="Button1" VerticalAlignment="Bottom">Button</Button>
            <Label Height="40" Margin="66,42,84,0" Name="Label1" VerticalAlignment="Top" ></Label>
        </Grid>
    </Window>

    La partie Window1.xaml.vb :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Class Window1 
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click
            essai()
        End Sub
     
    End Class

    Le fichier CodeFile1.vb :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Module test
     
        Sub essai()
     
            Window1.Label1.Content = "test"
     
        End Sub
     
    End Module

    La liste d'erreur m'indique :

    Error 1 Reference to a non-shared member requires an object reference.
    Cette erreur cible sur le Window1.Label1 du fichier CodeFile1.vb



    Donc je pense qu'il me manque un lien entre les fichiers CodeFile1.vb et Window1.xaml, mais lequel, je ne sais pas.

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

Discussions similaires

  1. conseil passage application WinForm en WPF MVVM
    Par dominiqueFaure dans le forum Design Patterns
    Réponses: 1
    Dernier message: 01/04/2011, 18h10
  2. passage WinForm en WPF avec MVVM
    Par dominiqueFaure dans le forum Windows Presentation Foundation
    Réponses: 13
    Dernier message: 23/03/2011, 14h22
  3. de winform a wpf
    Par clod83 dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 02/01/2008, 12h01
  4. de winform a wpf
    Par clod83 dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 28/12/2007, 15h08
  5. Winforms ou WPF
    Par Invité dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 01/10/2007, 17h32

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