如何为我的WPF应用程序做背景音乐?
问题描述:
我有一个WPF应用程序与主窗口中的3个不同的用户控件,只有其中一个是可见的。这就像有3个不同的页面,当你喜欢它时,你可以从一个页面切换到另一个页面。第一页就像一个开始屏幕。其次就像“普遍观点”。第三页显示细节。在Storyboard之间切换可以很好地工作。我只是使可见页面不可见(不透明度为零)并将其移出可见窗口区域,并将新页面移动到可见窗口区域并使其可见。到目前为止这么好...(希望你明白我想告诉^^)如何为我的WPF应用程序做背景音乐?
现在我想要播放背景音乐,就在显示详细信息页面时。只有那样。不是当用户在普通视图中查看启动画面时。
我觉得我必须做一个mediaelement东西。用故事板开始或停止mediaelement。
但是,如何处理Storyboard中的mediaelements?
答
你有正确的观念:
-
使用在任何布局容器的MediaElement(网格,边界,等等)您的详细信息页面放在
<MediaElement x:Name="myMediaElement" />
-
让你的故事板拥有MediaTimeline的资源
<Window.Resources> <Storyboard x:Key="PlaySoundStoryboard"> <MediaTimeline Storyboard.TargetName="myMediaElement" Source="whatever.mp3" /> </Storyboard>
-
我知道按钮和东西,你可以使用事件触发启动和停止故事板:
<Grid x:Name="LayoutRoot"> <Grid.Triggers> <EventTrigger RoutedEvent="ButtonBase.Click" SourceName="playbutton"> <BeginStoryboard Storyboard="{StaticResource PlaySoundStoryboard}" Name="theStoryboard" /> </EventTrigger> <EventTrigger RoutedEvent="ButtonBase.Click" SourceName="stopbutton"> <StopStoryboard BeginStoryboardName="theStoryboard" /> </EventTrigger> </Grid.Triggers> <MediaElement x:Name="myMediaElement" /> <Button Name="playbutton">play</Button> <Button Name="stopbutton">stop</Button> </Grid>
但我不知道你将如何为的知名度做到这一点集装箱。 IsVisibleChanged会要求你看看你在XAML中无法完成的论点(据我所知)。您可能需要使用后面的代码触发动画。
希望这会有所帮助...
好的,谢谢。我会尝试的! – user370446 2010-07-01 06:36:54