首先定义模板:

 <DataTemplate x:Key="ItemTemplate"><Grid Width="470" Margin="0,30,0,0" Tap="Grid_Tap" x:Name="grid"><Grid.ColumnDefinitions><ColumnDefinition Width="370"/><ColumnDefinition Width="100"/></Grid.ColumnDefinitions><Grid.RowDefinitions><RowDefinition Height="60"/><RowDefinition Height="Auto"/><RowDefinition Height="25" /></Grid.RowDefinitions><TextBlock Text="{Binding comments_count}" Width="41" Margin="60,18,0,-4" HorizontalAlignment="Left" Foreground="#FFABD623"/><!--<TextBlock Text="{Binding created_time}" Margin="8,34,145,0" VerticalAlignment="Top" Grid.Row="0"/>--><CheckBox IsChecked="{Binding has_uped, Mode=TwoWay}" Margin="0,8,85,-37" Content="has_uped" Visibility="Collapsed" HorizontalAlignment="Right" Width="63"/><Image Source="{Binding img_url}" Margin="0,20,0,0" Grid.Row="1" VerticalAlignment="Top" Grid.Column="1" HorizontalAlignment="Left" Height="90" Width="90"/><CheckBox IsChecked="{Binding is_break, Mode=TwoWay}" Margin="0,8,-15,0" VerticalAlignment="Top" HorizontalAlignment="Right" Width="66" Content="is_break" Visibility="Collapsed"/><TextBlock Text="{Binding title}" TextWrapping="Wrap"  Margin="0,1,0,0" Grid.Row="1" HorizontalAlignment="Left" VerticalAlignment="Top" Foreground="White"/><TextBlock  Text="{Binding url}" Grid.Row="2" Margin="60,-4,38,4" Grid.ColumnSpan="2" d:LayoutOverrides="GridBox" Foreground="#FF956020"/><TextBlock HorizontalAlignment="Left" Margin="0,19,0,-1" TextWrapping="Wrap" Text="评论数:" Width="56" FontSize="16" Foreground="#FFABD623"/><TextBlock HorizontalAlignment="Left" Grid.Row="2" TextWrapping="Wrap" Text="网址:"  FontSize="16" Foreground="#FF956020"  /><Button Content="查看评论" Margin="80,2,152,-1" Style="{StaticResource ButtonStyle}" Tap="Button_Tap"/><!--<TextBlock Grid.Column="1" TextWrapping="Wrap" Text="顶:" Foreground="#FFABD623"  Height="56" Padding="15,13,0,0" Margin="0,2,10,2" Tap="TxtbUps_Tap"><Run Text="{Binding ups}"/>                    </TextBlock>--><Button  Grid.Column="1" BorderBrush="{x:Null}" Tap="TxtbUps_Tap"><Button.Resources><Storyboard x:Name="AddOneStoBoard"><DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="image"><EasingDoubleKeyFrame KeyTime="0" Value="0.01"/><EasingDoubleKeyFrame KeyTime="0:0:1" Value="1"/><EasingDoubleKeyFrame KeyTime="0:0:2" Value="0.01"/></DoubleAnimationUsingKeyFrames><DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="image"><EasingDoubleKeyFrame KeyTime="0" Value="0"/><EasingDoubleKeyFrame KeyTime="0:0:1" Value="-270.5"/><EasingDoubleKeyFrame KeyTime="0:0:2" Value="0"/></DoubleAnimationUsingKeyFrames><DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" Storyboard.TargetName="image"><EasingDoubleKeyFrame KeyTime="0" Value="0"/><EasingDoubleKeyFrame KeyTime="0:0:1" Value="100"/><EasingDoubleKeyFrame KeyTime="0:0:2" Value="0"/></DoubleAnimationUsingKeyFrames><DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleX)" Storyboard.TargetName="image"><EasingDoubleKeyFrame KeyTime="0" Value="1"/><EasingDoubleKeyFrame KeyTime="0:0:1" Value="100"/><EasingDoubleKeyFrame KeyTime="0:0:2" Value="1"/></DoubleAnimationUsingKeyFrames><DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleY)" Storyboard.TargetName="image"><EasingDoubleKeyFrame KeyTime="0" Value="1"/><EasingDoubleKeyFrame KeyTime="0:0:1" Value="100"/><EasingDoubleKeyFrame KeyTime="0:0:2" Value="1"/></DoubleAnimationUsingKeyFrames></Storyboard></Button.Resources><Grid><Grid.ColumnDefinitions><ColumnDefinition Width="Auto"/><ColumnDefinition Width="Auto"/><ColumnDefinition Width="Auto"/></Grid.ColumnDefinitions><TextBlock Text="顶:" FontSize="16" Grid.Column="0"/><TextBlock Text="{Binding ups}"  FontSize="16" Grid.Column="1"/></Grid></Button><Image x:Name="image"  Source="images/+1.png" Grid.Column="2" Stretch="Fill" Width="1" Height="1" RenderTransformOrigin="0.5,0.5"><Image.RenderTransform><CompositeTransform/></Image.RenderTransform></Image><TextBlock Margin="0,19,0,8" TextWrapping="Wrap" Text="{Binding created_time,Converter={StaticResource LongToTimeSpanConverter}}" Foreground="#FFCECACA" FontSize="16" HorizontalAlignment="Right" Width="184"/></Grid></DataTemplate>

在 codebehind 页面中捕获sender,并播放动画

 private void TxtbUps_Tap(object sender, System.Windows.Input.GestureEventArgs e){Button btn = sender as Button;Storyboard sb = btn.Resources["AddOneStoBoard"] as Storyboard;if (sb != null){sb.Begin();}//e.Handled = true;}

点击按钮后,动画播放。

转载于:https://www.cnblogs.com/hebeiDGL/archive/2012/04/11/2442207.html

给 ListBox 的 DataTemplate 模板中的 元素设置动画相关推荐

  1. 如何在组件模板中选择元素?

    本文翻译自:How can I select an element in a component template? Does anybody know how to get hold of an e ...

  2. 解决laytpl.js模板引擎插件加载模板后无法获取模板中的元素id等内容

    一.问题描述 在页面中使用laytpl.js模板引擎,在页面加载后无法使用jquery获取模板中的html元素,以下是图片和代码: 在添加或修改完毕后重新加载页面,不能使用jquery获取模板中的ht ...

  3. python bar函数默认颜色_python – 如何在matplotlib中为colorbar设置动画

    我有一个动画,其中数据的范围变化很??大.我想有一个跟踪数据的最大值和最小值的颜色条(即我希望它不被修复).问题是如何做到这一点. 理想情况下,我希望颜色条在自己的轴上. 我尝试了以下四件事 1.天真 ...

  4. 如何在C ++中从容器中删除元素

    How to remove elements from container is a common C++ interview question, so you can earn some brown ...

  5. 《AngularJS实战》——3.1 模板中的过滤器

    本节书摘来自华章出版社<AngularJS实战>一 书中的第3章,第3.1节,作者:陶国荣,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 3.1 模板中的过滤 ...

  6. UWP 查找模板中的控件

    UWP 查找模板中的控件 原文:UWP 查找模板中的控件 这个标题我也不知道咋起,意思说一下你就明白. 1. 对官方控件的模板进行定制修改,以满足多样化需求,还有漂亮的UI 比如ListView,Gr ...

  7. VC6中用DOM遍历网页中的元素

    VC6中用DOM遍历网页中的元素 2005-4-21 6:56:47 作者:模板天下收集整理 来源:未知 网友评论 0 条 论坛286 一.摘要 在我们编写的程序中,如果想要实现对浏览器打开的网页进行 ...

  8. Struts2解析FreeMarker模板中变量的顺序

    http://zhxing.iteye.com/blog/391560 关于FreeMarker 的基础学习请参考文档..这里主要记录 FreeMarker 的一些问题.. 1.FreeMarker  ...

  9. STL 容器中的元素必须满足的条件

    STL中的容器.迭代器.算法都是模板,因此可以操作任何型别.不论是STL预先定义好的或用户自行定义的都可以.然而,由于某些加诸于元素身上的操作行为,某些需求条件也就相应出现了.STL容器元素必须满足以 ...

最新文章

  1. 1024程序员节,你是我们要找的那条锦鲤吗?
  2. Java提取mssql备份文件的数据
  3. axios获取图片显示_vue中使用axios post上传头像/图片并实时显示到页面的方法
  4. 10-多写一个@Autowired导致程序崩了
  5. js读写php文件,在js中如何读取本地文件
  6. Freemarker的基本语法及入门基础
  7. Python版快速排序算法
  8. OpenCV-Python图像处理教程(源码及素材)
  9. http/tcp/ip/端口
  10. OpenCV 3.0 CvMat and cv::Mat Conversion
  11. 【R语言-P值校正(BH)】
  12. Java小游戏--舒尔特方格
  13. STL 常用容器(1)--string
  14. C语言题目(数组)1
  15. 川师计算机类专业收分安徽,四川师范大学专业收分
  16. c++学习笔记(6)
  17. 在搭建分布式事务txlcn-tm服务端时遇到坑及解决方案
  18. 英语作文计算机国际会议开幕词,【国际会议开幕式】国际会议开幕词英文
  19. Resource Possword
  20. 这篇博文终于讲清了 全连接、全尺寸卷积、1*1卷积的关系

热门文章

  1. python web开发 Bootstrap框架基础
  2. LeetCode 1936. 新增的最少台阶数
  3. LeetCode 1851. 包含每个查询的最小区间(排序 + 离线查询 + 优先队列)
  4. LeetCode 1751. 最多可以参加的会议数目 II(DP + 二分查找)
  5. LeetCode 1619. 删除某些元素后的数组均值
  6. LeetCode MySQL 1517. Find Users With Valid E-Mails(正则表达式)
  7. LeetCode 637. 二叉树的层平均值(层次遍历queue)
  8. LeetCode 832. 翻转图像(异或^)
  9. lisp 中望cad 选项卡_这些高效插件,学CAD的基本用过两种以上
  10. python序列符号_初识Python(4)__Python序列