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

VB.NET Discussion :

Accéder à une variable d'une Winform à partir d'un control user WPF [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 47
    Par défaut Accéder à une variable d'une Winform à partir d'un control user WPF
    Bonjour,

    J'ai un projet réalisé en VBNET dans lequel je souhaite remplacer une visualisation de déplacement en 2D par du 3D.
    J'ai réussi à intégrer un control user WPF, pour gérer la 3D.
    J'arrive à l'intérieur à afficher mon mobile et à réaliser ces déplacements (transformations).

    Mais je bute sur comment accéder à partir de ce control user à un tableau de points décrivant les déplacements. Celui-ci se trouvant sur la WinForm principale.

    Merci de votre lecture.

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 193
    Par défaut
    tu peux mettre une propriété du même type sur le controle wpf, et la fenetre winform, qui connait le controle wpf, peut lui fournir l'instance contenant les données
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 47
    Par défaut
    Bonjour Pol63,

    Merci de t'intéresser à mon soucis.
    Je suis débutant en programmation objet mais je pense comprendre que je dois créer une propriété ou fonction du côté usercontrol WPF qui sera appelée/modifiée par la Winform.
    Est ce bien cela ?
    Aurais tu un exemple de code ?

    Merci d'avance

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 193
    Par défaut
    c'est bien ca
    après je n'ai pas d'exemple, écrire une propriété c'est un peu la base en .net donc tu peux réviser les bases ^^

    mais par exemple la classe Button a une propriété Text as String (le framework est codé en .net) donc on peut définir Text sur une instance de Button
    et sur un usercontrol (ou tout autre classe qu'on écrit) on peut ajouter des propriétés, une propriété Public est accessible depuis l'extérieur de la classe (en plus de l'être de l'intérieur)

    en wpf il y a aussi les DependencyProperty qui sont mieux que des prorpiétés dans certains cas, elles permettent en effet de mettre à jour l'interface par binding
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 47
    Par défaut
    Bonjour Pol63,

    Merci de ta validation.
    Pour ce qui est de ma maitrise je crois que tu l'évalues à sa juste mesure

    Pour mon pb, j'ai défini dans le usercontrol WPF une public Sub avec un passage de tableau en paramètres

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Sub LctDeplcts(ByVal tableauXYZ() As Double)
    ...
    End Sub
    dans UserControl.xaml.vb

    Cette fonction est alors accessible de ma WinForm.
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     Private Sub cmdDeplctsXYZ_Click(sender As Object, e As EventArgs) Handles cmdDeplctsXYZ.Click
        Dim tableauXYZ(2) As Double
     
        'Position de départ du cube
        tableauXYZ(0) = CDbl(TxtBoxOffsetX.Text)
        tableauXYZ(1) = CDbl(TxtBoxOffsetY.Text)
        tableauXYZ(2) = CDbl(TxtBoxOffsetZ.Text)
     
        'Lct des déplacements
        UserControl11.LctDeplcts(tableauXYZ)
     
      End Sub

    Finalement au lieu d'essayer d'accéder à des données de la WinForm à partir du User Control j'envoie au User Control ces données.

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

Discussions similaires

  1. accèder à une JFrame à partir d'une JDialog modale
    Par melle_marwa dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 07/05/2009, 22h42
  2. Réponses: 2
    Dernier message: 04/12/2007, 16h45
  3. Accéder à une progressBar à partir d'un module de class
    Par mouloudéen dans le forum Windows Forms
    Réponses: 2
    Dernier message: 22/08/2007, 15h30
  4. Lancer une winform à partir d'un thread
    Par bart64 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 01/08/2007, 14h05
  5. Réponses: 3
    Dernier message: 02/04/2007, 20h37

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