WPF如何后台改变动画触发器绑定值

一个播放器按钮,播放和暂停是同一个按钮但是xaml实在是不方便啊部分xaml代码如下:<Storyboardx:Key="Board"CurrentTimeInvalid... 一个播放器按钮,播放和暂停是同一个按钮
但是xaml实在是不方便啊
部分xaml代码如下:
<Storyboard x:Key="Board" CurrentTimeInvalidated="Storyboard_CurrentTimeInvalidated" SlipBehavior="Slip">
<MediaTimeline Source="xx.mp3" Storyboard.TargetName="media" x:Name="mediaTime"></MediaTimeline>
</Storyboard>

<Window.Triggers>
<EventTrigger RoutedEvent="Button.Click" SourceName="按钮名">
<EventTrigger.Actions>
<BeginStoryboard Name="mediaStoryBoard" Storyboard="{StaticResource Board}" ></BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</Window.Triggers>

可以看到触发器与按钮的Click事件绑定了,两个按钮自然什么事都没有,纯xaml都能搞定,但是我如何根据这一个按钮的状态来判断何时为暂停,何时继续呢?麻烦高手给出后台代码,或者有其他的好办法也行。谢谢!
暂停和继续的问题解决了,但是该播放器在打开时我不想让它自动播放mp3,仍想通过该按钮点击实现,问题出现了,ToggleButton和动画的绑定事件只有Checked和UnChecked,但是最开始的播放等同于重新播放,而不是播放或暂停这两个状态,也就是说有3个状态,这样一来就不行了,还有就是感觉绑定事件不太灵活啊,能否绑定属性啊,或者如何自定义事件
展开
 我来答
Yeshirow
2011-01-09 · TA获得超过340个赞
知道小有建树答主
回答量:74
采纳率:0%
帮助的人:139万
展开全部
EventTrigger 的 Actions 不是 Action, Actions 可支援多个 Action
ToggleButton 在 Loaded 事件先 BeginStoryboard 然后立即暂停
RoutedEvent="ToggleButton.Loaded // 预播放, 立即暂停
<BeginStoryboard ... ...// 就是想得到一个名字
<PauseStoryboard ...
RoutedEvent="ToggleButton.Checked // 继续播放
<ResumeStoryboard ...
RoutedEvent="ToggleButton.Unchecked // 暂停
<PauseStoryboard...

-------------------------------
另外, ToggleButton 支持 3 态 (通过 IsThreeState 设定): Checked/Unchecked/Indeterminate
其 IsChecked 属性对应值是 True/False/Null, 此属性类型为 bool?
所以还有一个事件: ToggleButton.Indeterminate
RayNCC
2011-01-07 · TA获得超过615个赞
知道小有建树答主
回答量:452
采纳率:0%
帮助的人:604万
展开全部
最简单的办法,你用换用ToggleButton,写两个Trigger,Event分别为Checked和Unchecked
然后改改样式,看上去是播放和暂停即可。无需写cs代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hocksun
2011-01-08 · TA获得超过137个赞
知道答主
回答量:48
采纳率:0%
帮助的人:48.7万
展开全部
你可以尝试 使用MEDIAELEMENT 控件来 播放MP3 文件 你在界面上画一个MEDIAELEMENT放在最底层 OPACITY设置为0 之后NAME属性设置为mediaelement1
在TOGGLEBUTTON 的 CHECKED事件里写{this.mediaelement1.Play();}UNCHECKED事件里写{this.mediaelement1.Pause();} 这样CHECKED 的时候播放 UNCHECKED的时候 暂停 而且再次点击 的时候可以继续播放
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式