如何为我的WPF应用程序制作背景音乐?
我有一个WPF应用程序,在主窗口中有3个不同的UserControls,当时只有一个是可见的。这就像有3个不同的页面,你可以在喜欢的时候从一个页面切换到另一个页面。第一页就像一个开始屏幕。二是像“总论”。第三页显示了详细信息。在它们之间切换可以很好地使用故事板。我只是使可见页面不可见(不透明度为零)并将其移出可见窗口区域,然后将新页面移至可见窗口区域并使其可见。到现在为止,一直都还不错。。。(希望你明白我想说的话^^) 现在我想让背景音乐在显示详细信息页面时播放。只有到那时。当用户在常规视图中查看startscreen ir时,情况并非如此 我想我必须用媒体元素制作一些东西。并使用我的故事板启动或停止mediaelement如何为我的WPF应用程序制作背景音乐?,wpf,playback,Wpf,Playback,我有一个WPF应用程序,在主窗口中有3个不同的UserControls,当时只有一个是可见的。这就像有3个不同的页面,你可以在喜欢的时候从一个页面切换到另一个页面。第一页就像一个开始屏幕。二是像“总论”。第三页显示了详细信息。在它们之间切换可以很好地使用故事板。我只是使可见页面不可见(不透明度为零)并将其移出可见窗口区域,然后将新页面移至可见窗口区域并使其可见。到现在为止,一直都还不错。。。(希望你明白我想说的话^^) 现在我想让背景音乐在显示详细信息页面时播放。只有到那时。当用户在常规视图中查
但是如何处理故事板中的媒体元素呢?您的想法是正确的:
- 在详细信息页面放入的任何布局容器(网格、边框等)中使用MediaElement
- 使您的故事板资源具有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>
玩 停止
希望这有助于……您的想法是正确的:
- 在详细信息页面放入的任何布局容器(网格、边框等)中使用MediaElement
- 使您的故事板资源具有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>
玩 停止