我希望在我的整个应用程序中通过点击按钮事件的点击事件来播放声音,
我找到了1个单击按钮时发出声音的代码.
private void btn_Click(object sender, RoutedEventArgs e)
{
MediaPlayer mplayer = new MediaPlayer();
mplayer.Open(new Uri("ding.wav", UriKind.Relative));
mplayer.Play();
//our code...
}
Run Code Online (Sandbox Code Playgroud)
我知道这不是正确的解决方案,所以请告诉我是否有其他解决方案,becoz我必须将这3行写入每个按钮点击事件及其繁琐的工作.
请帮忙解决这个问题.
等待回复...
提前致谢
Dan*_*rth 22
只需定义一个在事件中播放声音的样式PreviewMouseDown
:
<Style TargetType="Button">
<Style.Triggers>
<EventTrigger RoutedEvent="PreviewMouseDown">
<SoundPlayerAction Source="/ClickingButton;component/click.wav" />
</EventTrigger>
</Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud)
请参阅此处,了解为何不在Button.Click
事件触发器中使用事件.基本上,问题是,Button.Click
事件是冒泡的,事件触发器将在执行 正常单击处理程序中的代码之后执行,即声音将有延迟,如果事件处理程序执行需要一些时间的事情.
归档时间: |
|
查看次数: |
13126 次 |
最近记录: |