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

Contribuez Discussion :

Utilisation d'un usercontrol WPF (xaml) dans windev


Sujet :

Contribuez

  1. #1
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 947
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 947
    Points : 9 275
    Points
    9 275
    Par défaut Utilisation d'un usercontrol WPF (xaml) dans windev
    hello,
    le but de cette contribution est de montrer comment on peut utiliser le champ Xaml de windev pour visualiser des modèles 3D en se servant d'un contrôle utilisateur WPF.
    A - Création du usercontrol
    Pour créer le usercontrol WPF il va falloir utiliser un IDE dotnet :
    Vous pouvez utiliser Visual Studio mais si ce n'est que pour créer le usercontrol cela est assez lourd car visual studio est une véritable usine à gaz qui occupe plusieurs gigaoctets de disque et sur des machines peu puissante est assez long à mettre en route.
    En beaucoup plus léger il y a sharpdevelop (licence GPL LGPL) comme IDE. Il a un éditeur winforms et wpf.
    Téléchargement de SharpDevelop (fichier SharpDevelop_5.1.0.5216_Setup.msi) ici
    Pour le contrôle utisateur nous allons utilisé l'assemblage Helix ToolKit (licence MIT) qui permet de visualiser des objets 3D.
    Téléchargement de Helix 3D ToolKit (fichier HelixToolkit.Wpf.2.13.1.nupkg) ici
    le fichier nupkg est un fichier archive. L'ouvrir avec un décompresseur (comme 7zip par exemple) et extraire le fichier \lib\net45\HelixToolkit.Wpf.dll dans le répertoire helixDll de la solution sharpdevelop.
    La solution SolUcHelix
    Dans cette solution il y a 3 projets
    1 projet de Librairie de classes qui contient le contrôle utilisateur que l'on va créer
    1 projet d'application dotnet en winforms pour tester le contrôle utilisateur.
    1 projet d'application dotnet en WPF pour tester le contrôle utilisateur.
    L'assemblage du contrôle utilisateur une fois compilé se trouve dans HelixUc\bin\Release
    En pièce jointe un fichier compressé contenant la solution avec les trois projets.


    Voir la vidéo de présentation rapide :



    B - Intégration du usercontrol dans windev
    Un projet windev 16 avec une fenêtre qui contient
    Un champ xaml qui contient le contrôle utilisateur
    Un bouton pour tester le lancement de la méthode chargerfichier du contrôle utilisateur à partir de windev.
    En pièce jointe un fichier compressé contenant le projet avec sa fenêtre.



    Attention si vous ne mettez pas les assemblages HelixToolkit.Wpf.dll et HelixUc.dll dans le répertoire où se trouve WdTest.exe cela ne fonctionnera pas en mode debug (champ xaml tout noir). C'est sans doute un bug de windev qui ne prend pas en compte dans WdTest, le chemin des assemblages ajoutés dans le projet.
    Comme nous ne disposons pour les champs xaml que des fonctions xamlPropriété et xamlEvénement et donc rien pour lancer une fonction de l'xaml, j'ai trouvé comme astuce d'utiliser une propriété command dans le contrôle utilisateur qui quand on écrit une valeur dedans vient lancer une fonction interne au contrôle utilisateur.
    L'autre problème que j'ai du régler c'est que le conteneur du champ xaml de Windev est un Canvas. Celui-ci ne redimensionne pas les contrôles qu'il contient. Donc ce que j'ai fait c'est que quand on redimensionne le champ xaml on redimensionne la grille qu'il contient.

    Voir la vidéo de présentation :



    Ceci n'est qu'un point de départ. Je ne suis novice en WPF donc il y a certainement des choses à améliorer. Pour des soucis avec WPF s'adresser aux développeurs du forum dotnet C# de developpez.com. De même pour Helix Toolkit trouver un forum adéquat pour poser les questions.

    Ami calmant, J.P
    Fichiers attachés Fichiers attachés
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

Discussions similaires

  1. Utiliser du code d'autres langages dans windev
    Par fghfgh dans le forum WinDev
    Réponses: 1
    Dernier message: 17/02/2013, 10h16
  2. Utiliser les APIs Orange dans Windev
    Par Orange Api Team dans le forum WinDev
    Réponses: 1
    Dernier message: 15/04/2010, 17h06
  3. Afficher un composant Winform dans WPF (en passant par un UserControl(WPF))
    Par karim.user dans le forum Windows Presentation Foundation
    Réponses: 17
    Dernier message: 21/04/2009, 13h00
  4. Utilisation de UML dans WinDev
    Par Emmanuel Lecoester dans le forum WinDev
    Réponses: 25
    Dernier message: 09/01/2009, 17h55
  5. Insertion de UserControl WPF dans Office
    Par s.o.f dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 26/05/2008, 14h23

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