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 :

créer un template par code


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    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 202
    Par défaut créer un template par code
    bonjour

    dans un listbox de fait du items.Add d'une classe non graphique
    je souhaiterais créer un itemtemplate par code, avec un binding (par exemple un booléen sur un checkbox en twoway) (pas en xaml donc)

    dans ce listbox je voudrais aussi mettre des instances de types différents
    est-il possible de créer plusieurs itemtemplate selon le type de l'item

    merci
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  2. #2
    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
    Salut,

    Pour définir un template via le code c#, il faut faire comme ça (le type est associé dans le constructeur) :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    DataTemplate template = new DataTemplate(typeof(MonObjet1));
     
    FrameworkElementFactory factoryTextBlock = new FrameworkElementFactory( typeof( TextBlock ) );
    factoryTextBlock.SetBinding( TextBlock.TextProperty, new Binding( "Name" ) );
     
    template.VisualTree = factoryTextBlock;

    Ensuite, il faudra associé ce template à la listBox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listBox1.ItemTemplate = template;

    Pour ce qui est de l'utilisation de plusieurs types d'objets, il faut regarder du côté de ItemTemplateSelector de ta listbox, je pense.

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    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 202
    Par défaut
    merci pour le code

    finalement je suis repartir l'ecrire en xaml, c'est plus complet et ca fait 10x moins de lignes ...
    (je voulais un grid avec plusieurs controles ... et j'ai pas trouvé comment setter les columnsdefinitions sur le factory)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    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 sperot51
    finalement je suis repartir l'ecrire en xaml, c'est plus complet et ca fait 10x moins de lignes ...
    +1

    Citation Envoyé par sperot51
    (je voulais un grid avec plusieurs controles ... et j'ai pas trouvé comment setter les columnsdefinitions sur le factory)
    A chaque fois, que j'ai voulu le faire via le code behind c'était pour des template simple à vrai dire (utilisant StackPanel ou DockPanel)... et même dans des cas comme ça, je me suis résigné à le faire via le code xaml pour la même raison que tu as cité.
    Donc je ne saurais pas dire comment setter les columnsdefinitions sur le factory non plus...

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    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 202
    Par défaut
    autant que ca fait 2 ans que je dis que .net c'est un bonheur à coder
    le wpf, ca parrait un poil chiant au début mais c'est parce qu'il y a tout à réapprendre, mais en fait c'est encore plus surpuissant !
    en 3 lignes on fait des trucs jolis, ergonomiques et complexes ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. [Struts-Layout] Créer une Menu par Code
    Par pjmvn dans le forum Struts 1
    Réponses: 2
    Dernier message: 15/12/2008, 10h34
  2. Créer un utilisateur par code
    Par zooffy dans le forum ASP.NET
    Réponses: 6
    Dernier message: 15/04/2008, 12h32
  3. Créer des variables par code
    Par mouaa dans le forum VBA Access
    Réponses: 5
    Dernier message: 20/03/2008, 16h29
  4. [VBA] créer ligne graphique par code
    Par cbleas dans le forum Access
    Réponses: 4
    Dernier message: 29/08/2006, 07h22
  5. [C#] Créer un label par code
    Par djoao dans le forum Windows Forms
    Réponses: 7
    Dernier message: 31/03/2006, 09h10

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