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 :

Trigger Datatemplate Listbox!


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 62
    Par défaut Trigger Datatemplate Listbox!
    Bonjour à tous!

    Depuis quelque temps je me suis lancé dans la création d'un jeu type trivial pursuit et bref! je suis en train de coder la partie "réseau" et donc j'en suis à incorporer un mini tchat à l'intérieur du jeu, j'ai donc utilisé une listbox pour afficher les différents messages des différents joueurs seulement je voudrai que chacun des message s'estompe de manière graduelle jusqu'à disparition de l'écran en une dizaine de secondes. Mon problème se situe là, je ne vois pa trop comment m'y prendre!

    Si quelqu'un pouvait m'aider je lui en serais reconnaissant!
    Voici ci-dessous mon code que j'ai actuellement qui ne fonctionne pas des masses!!


    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
      <Canvas Name="canvas_tchat" Height="185" Width="1002" Canvas.Top="0" Canvas.Left="0" Canvas.ZIndex="-1" Opacity="0">
     
                <Canvas.Resources>
                    <Style TargetType="{x:Type ListBox}">
     
                        <Setter Property="ItemTemplate">
                            <Setter.Value>
                                <DataTemplate>
                                    <DataTemplate.Resources>
                                        <Storyboard x:Key="fermer_message">
                                            <DoubleAnimation Storyboard.TargetName="canvas_un_message" Storyboard.TargetProperty="Opacity" To="0" Duration="0:0:5" />
                                        </Storyboard>
                                    </DataTemplate.Resources>
     
                                    <DataTemplate.Triggers>
                                        <DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBox}},Path=SelectedIndex}" Value="0">
                                            <DataTrigger.EnterActions>
                                                <BeginStoryboard Storyboard= "{StaticResource fermer_message}" Name="fermer_canvas_un_message"/>
                                            </DataTrigger.EnterActions>
                                        </DataTrigger>
                                    </DataTemplate.Triggers>
     
                                    <Canvas x:Name="canvas_un_message" Height="20" Width="1001" Background="Gray" Margin="0" >                                    
     
                                        <TextBox Cursor="Arrow" Background="Gray" Width="1001" Height="20" BorderThickness="0" Margin="0" Canvas.Top="0" Foreground="White" FontSize="14" Focusable="False" />
                                        <TextBox Cursor="Arrow"  Background="Gray" Width="1001" Height="20" BorderThickness="0" Margin="0" Text="{Binding Path=emetteur}" Canvas.Left="50" Canvas.Top="0" Foreground="White" FontSize="14" Focusable="False" />
                                        <TextBox Cursor="Arrow"  Background="Gray" Width="1001" Height="20" BorderThickness="0" Margin="0" Text="{Binding Path=message}" Canvas.Left="120" Canvas.Top="0" Foreground="White" FontSize="14" Focusable="False" />
                                    </Canvas>
     
                                </DataTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style>
                </Canvas.Resources>
     
     
                <ListBox x:Name="listbox_tchat" Margin="0" BorderThickness="0" SelectedIndex="0" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled" Canvas.ZIndex="1" Canvas.Top="0" Canvas.Left="0"  Height="185" Width="1002" Background="Transparent" >
     
                </ListBox>
     
            </Canvas>
    Voilà merci d'avance!

    damien

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    avec ton code je comprend pas comment ca fonctionne ....
    notamment par ce que l'opacity du canvas est a 0 et que sur l'anim tu change a priori l'opacity des items, mais bon y'a pas que ca

Discussions similaires

  1. DataTemplate d'une ListBox dans un UserControl
    Par Lelio1407 dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 22/06/2012, 12h58
  2. Récupérer DataTemplate ListBox
    Par cyberbobby dans le forum Silverlight
    Réponses: 0
    Dernier message: 05/05/2010, 16h52
  3. Problème avec DataTemplate, ResourceDictionary, Trigger ou Event..
    Par Chekov dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 02/10/2009, 11h30
  4. Listbox et datatemplate : comment faire pour qu'il prenne la largeur complète ?
    Par zax-tfh dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 25/06/2009, 09h50
  5. Binding listbox avec datatemplate et récupération de valeur
    Par tom741 dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 24/03/2009, 18h02

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