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:
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 :oops: