<Grid Width="300" Height="460">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="60"/>
<RowDefinition Height="100"/>
</Grid.RowDefinitions>
<Grid.Triggers>
<EventTrigger SourceName="btnStart" RoutedEvent="Button.Click">
<BeginStoryboard x:Name="myImageBStoryboard" >
<Storyboard CurrentTimeInvalidated="Storyboard_CurrentTimeInvalidated">
<DoubleAnimation Storyboard.TargetName="myImageB" Storyboard.TargetProperty="Opacity" From="1" To="0" Duration="00:00:05"> </DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger SourceName="btnPause" RoutedEvent="Button.Click">
<PauseStoryboard BeginStoryboardName="myImageBStoryboard"></PauseStoryboard>
</EventTrigger>
<EventTrigger SourceName="btnResume" RoutedEvent="Button.Click">
<ResumeStoryboard BeginStoryboardName="myImageBStoryboard"></ResumeStoryboard>
</EventTrigger>
<EventTrigger SourceName="btnStop" RoutedEvent="Button.Click">
<StopStoryboard BeginStoryboardName="myImageBStoryboard"></StopStoryboard>
</EventTrigger>
<EventTrigger SourceName="btnMiddle" RoutedEvent="Button.Click">
<SeekStoryboard BeginStoryboardName="myImageBStoryboard" Offset="00:00:02">
</SeekStoryboard>
</EventTrigger>
</Grid.Triggers>
<Grid Grid.Row="0" Grid.Column="0" >
<Image x:Name="myImageA" Source="Images/A.jpg" Height="300" Width="300" Stretch="Fill"></Image>
<Image x:Name="myImageB" Source="Images/B.jpg" Height="300" Width="300" Stretch="Fill" ></Image>
</Grid>
<StackPanel Grid.Row="1" Grid.Column="0" Orientation="Horizontal">
<Button x:Name="btnStart" Content="Start" Width="50" Height="40" Margin="3" ></Button>
<Button x:Name="btnPause" Content="Pause" Width="50" Height="40" Margin="3" ></Button>
<Button x:Name="btnResume" Content="Resume" Width="50" Height="40" Margin="3" ></Button>
<Button x:Name="btnStop" Content="Stop" Width="50" Height="40" Margin="3" ></Button>
<Button x:Name="btnMiddle" Content="SeekToMiddle" Width="50" Height="40" Margin="3" ></Button>
</StackPanel>
<StackPanel Grid.Row="2" Grid.Column="0" Orientation="Vertical">
<TextBlock x:Name="myTextBlock" FontSize="13" Foreground="Red"> </TextBlock>
<ProgressBar x:Name="myProgressBar" Height="35" Background="White" Width="300" >
<ProgressBar.Foreground>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF4DF22F" Offset="0.505" />
<GradientStop Color="#FFEFF5F1" Offset="1" />
<GradientStop Color="#FFF8F8F8" Offset="0.013" />
</LinearGradientBrush>
</ProgressBar.Foreground>
</ProgressBar>
</StackPanel>
</Grid>
 public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
} private void Storyboard_CurrentTimeInvalidated(object sender, EventArgs e)
{
Clock storyboardClock = sender as Clock;
if (storyboardClock.CurrentProgress != null)
{
myTextBlock.Text = storyboardClock.CurrentTime.ToString();
myProgressBar.Value = (double)storyboardClock.CurrentProgress*;(注意这儿storyboardClock.CurrentProgres值范围是0至1)
System.Diagnostics.Debug.WriteLine(myProgressBar.Value);
}
else
{
myProgressBar.Value = ;
myTextBlock.Text = "Stopped";
}
}
}

控制Storyboard播放zz的更多相关文章

  1. Swift实战-豆瓣电台(九)简单手势控制暂停播放(全文完)

    Swift实战-豆瓣电台(九)简单手势控制暂停播放 全屏清晰观看地址:http://www.tudou.com/programs/view/tANnovvxR8U/ 这节我们主要讲UITapGestu ...

  2. 基于windowsphone7的控制ppt播放

    最近突然想起了一个学长的一个利用手机控制ppt播放的一个创意,并想将其在windows phone7上实现一下. 经过几天的努力已经可以控制ppt的播放,暂停,上一张,下一张了,并且电脑会将当前ppt ...

  3. 利用OpenCV和MFC对话框建设一个有滑动条控制的播放器--转

    (一)问题的提出: OpenCV有一个很简单的播放视频文件并加载滑动条的程序,但是如何用MFC对话框来创建一个有滑动条控制的播放器呢,网络上四处搜索都没有代码可以参考,下的都是些骗子链接文件,很过分, ...

  4. Android中通过耳机按键控制音乐播放的实现

    今天在研究Android中实现Android 4.2.2源码中的Music应用的源码,关于通过耳机按键控制音乐播放的实现,有点好奇,就仔细分析了一下源码, 主要由 MediaButtonIntentR ...

  5. Unity编辑器 - 编辑器控制特效播放

    编辑器控制特效播放 Unity的动画编辑器不能预览粒子系统的播放,为了方便预览特效,设想制作一个预览特效的工具,通常一个特效有三种组件: - Animation - Animator - Partic ...

  6. (转)在Unity3D中控制动画播放

    用Unity3D也算是好久了,但是每次做项目总还是能学到新的东西.这次做一个TPS的项目就遇到了这样一个问题,如何同时在上下半身播放不同的动画?解决方法其实是很简单,但由于对于动画资源的了解不足导致问 ...

  7. Kinect 开发 —— 控制PPT播放

    实现Kinect控制幻灯片播放很简单,主要思路是:使用Kinect捕捉人体动作,然后根据识别出来的动作向系统发出点击向前,向后按键的事件,从而使得幻灯片能够切换. 这里的核心功能在于手势的识别,我们在 ...

  8. Unity实现代码控制音频播放

    前言 很久没说过Unity了,现在说一下Unity用代码控制音频播放 准备工作 1.需要播放的音频 2.给需要加声音的对象加Audio Source组件 3.新建Play脚本,并绑定需要播放声音的对象 ...

  9. js控制swf播放

    <html> <head> <title>用js代码控制flash的播放</title> <meta charset="utf-8&qu ...

随机推荐

  1. STM32f10xxx 之 GPIO口配置

    背景 配置stm32f103使其完成PWM输出的过程中,在配置GPIO口的时候,按照习惯配置GPIO口的speed为50MHZ,突然就意识到,为什么大部分例程习惯配置为50MHZ,而不是其它值,即有了 ...

  2. jquery on()

    为多个元素绑定同一个事件: $(document).on('click', '#header .fixed-feedback-bn, #sb-sec .feedback-bn', function ( ...

  3. rpc-1-OSI模型

    rpc-1-OSI模型 第一部分,网络7层协议 1. OSI模型: 开放通信系统互联网参考模型,是国际标准化组织(ISO),提出的一个,试图使各种计算机在世界范围内互连为网络的模式.(遵循这个模式,计 ...

  4. mybatis问题is not known to the MapperRegistry

    is not known to the MapperRegistry mapper.xml里面对应的dao应该是interface而非class

  5. Facebook的Web开发三板斧:React.js、Relay和GraphQL

    2015-02-26 孙镜涛  InfoQ Eric Florenzano最近在自己的博客上发表了一篇题为<Facebook教我们如何构建网站>的文章,他认为软件开发有些时候需要比较大的跨 ...

  6. getComputedStyle/currentStyle/style之间的爱恨情仇

    getComputedStyle是? getComputedStyle是一个可以获取当前元素所有最终使用的CSS属性值.返回的是一个CSS样式声明对象([object CSSStyleDeclarat ...

  7. css3渐变

    background:-webkit-linear-gradient | radial-gradient (水平起点 垂直起点 , 颜色1  百分比%, 颜色2  百分比%, ... ,颜色N 100 ...

  8. 修复Linux Mint损坏的依赖

    第一种: sudo apt-get install -f 第二种 sudo aptitude install -f 注: 要是某软件xxx依赖损坏了,可以这样 sudo aptitude instal ...

  9. selenium 常见面试题以及答案(Java版)

    1.怎么 判断元素是否存在? 判断元素是否存在和是否出现不同, 判断是否存在意味着如果这个元素压根就不存在, 就会抛出NoSuchElementException 这样就可以使用try catch,如 ...

  10. .net测试学习--理解.net测试选项

    1.创建基于测试简单应用程序 (1)启动visual studio(有安装c#的) (2)  选择File|New project (3)创建一个C# project,名字和保存路径自己设定,假设取名 ...