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

C# Discussion :

WPF XAML ajouter un objet à un stakcpanel ou autre conteneur


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Décembre 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Décembre 2007
    Messages : 40
    Points : 20
    Points
    20
    Par défaut WPF XAML ajouter un objet à un stakcpanel ou autre conteneur
    Bonsoir à tous,

    Je suis en train de développer un contrôle utilisateur avec une datagrid wpf.
    Je souhaite afficher la liste d'un objet qui possède au moins deux propriétés importantes.

    La première première propriété contient le type de l'information de la seconde propriété.
    La deuxième contient, soit une expression (chaine de caractères pas très longue), soit un script vbs.

    Ainsi, quand la première propriété contient par exemple 1, je veux afficher l'expression directement dans la cellule. Quand elle contient 2,
    je veux afficher un bouton dans la cellule (bouton qui me permettra de voir le script dans une fenêtre).

    Est-il possible donc en xaml de gérer ce genre de comportement ?

    1 = > "AF + 2"

    ou

    2 => [ ... ]

    Cordialement

    RQ

  2. #2
    Membre à l'essai
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Décembre 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Décembre 2007
    Messages : 40
    Points : 20
    Points
    20
    Par défaut
    Bonsoir,
    finalement je réponds tout seul à ma question.

    J'ai placé une Grid dans la cellule avec deux colonnes et j'y ai placé un TextBlock et un Button, et je modifie les propriétés Text et Visibilty des deux objets en fonction du contenu du champ type de données.

    Quand la valeur "AutomaticValueType" dans la liste est égale = 1, je remplie la propriété Text du TextBlock avec mon "ExpressionValue", je place le TextBlock dans la colonne 0, le Button dans la colonne 1 et je le masque, et inversement lorsque la valeur est égale à 2.

    Pour ceux que ça intéressent, voilà le bout de code...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    <DataGridTemplateColumn Header="VBScript" Width="Auto">
      <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
          <Grid>
            <Grid.ColumnDefinitions>
              <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="Auto" />
            </Grid.ColumnDefinitions>
     
            <Button Click="ShowScript" Width="30">...
              <Button.Style>
                <Style TargetType="{x:Type Button}">
                  <Setter Property="Visibility" Value="Hidden" />
                  <Setter Property="Grid.Column" Value="1" />
                  <Style.Triggers>
                    <DataTrigger Binding="{Binding Path=AutomaticValueType}" Value="2">
                      <Setter Property="Visibility" Value="Visible" />
                      <Setter Property="Grid.Column" Value="0" />
                    </DataTrigger>
                  </Style.Triggers>
                </Style>
              </Button.Style>
            </Button>
     
            <TextBlock>
              <TextBlock.Style>
                <Style TargetType="{x:Type TextBlock}">
                   <Setter Property="Text" Value="" />
                   <Setter Property="Grid.Column" Value="1" />
                   <Style.Triggers>
                     <DataTrigger Binding="{Binding Path=AutomaticValueType}" Value="1">
                       <Setter Property="Text" Value="{Binding Path=ExpressionValue}" />
                       <Setter Property="Grid.Column" Value="0" />
                     </DataTrigger>
                   </Style.Triggers>
                 </Style>
               </TextBlock.Style>
            </TextBlock>
     
          </Grid>
        </DataTemplate>
      </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>
    Cordialement.

    Raph.

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

Discussions similaires

  1. Ajout d'objets graphiques depuis une autre classe
    Par metalamania dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 27/07/2010, 15h55
  2. [SimpleXML] Ajout d'objet xml a un autre
    Par takoha dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 15/09/2009, 22h55
  3. Réponses: 2
    Dernier message: 25/01/2006, 21h25
  4. [Vector] Ajouter un objet
    Par GLDavid dans le forum SL & STL
    Réponses: 3
    Dernier message: 14/12/2005, 13h29

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