C# 视频树中的媒体元素在8.1商店应用程序中不显示视频,只显示音频

C# 视频树中的媒体元素在8.1商店应用程序中不显示视频,只显示音频,c#,xaml,windows-store-apps,windows-8.1,visualtreehelper,C#,Xaml,Windows Store Apps,Windows 8.1,Visualtreehelper,我有一个视频要在8.1 windows应用商店应用程序中播放,我想在导航到其他页面后继续播放音频。。我是使用visualTreeHelper实现的,所以我在app.xaml中声明了一个媒体元素,并将其添加到app.xaml.cs中的框架中,然后在playingPage中获取它。问题是媒体元素控件只播放音频,而我看不到视频。。导航后音频会继续播放,但在播放页面中看不到视频(仅音频):这就是我在standardstyles.xaml中添加的内容: <Style x:Key="RootFrame

我有一个视频要在8.1 windows应用商店应用程序中播放,我想在导航到其他页面后继续播放音频。。我是使用visualTreeHelper实现的,所以我在app.xaml中声明了一个媒体元素,并将其添加到app.xaml.cs中的框架中,然后在playingPage中获取它。问题是媒体元素控件只播放音频,而我看不到视频。。导航后音频会继续播放,但在播放页面中看不到视频(仅音频):这就是我在standardstyles.xaml中添加的内容:

<Style x:Key="RootFrameStyle" TargetType="Frame">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="Frame">

                <Grid>
<MediaElement x:Name="player" AudioCategory="BackgroundCapableMedia"   />
 <Grid>
                   <ContentPresenter />
                    </Grid>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>
在playingPage.xaml中,我添加了MediaElement控件:

<ContentControl x:Name="videoContainer" HorizontalAlignment="Stretch" VerticalAlignment="Center" 
                            Grid.Row="0" Grid.Column="1"
                        KeyUp="VideoContainer_KeyUp"    >
                <MediaElement x:Name="player" AudioCategory="BackgroundCapableMedia"  
                    Visibility="Visible" Grid.Row="0" Grid.Column="1" AutoPlay="True" 
                    HorizontalAlignment="Center" VerticalAlignment="Center" 
                    MediaOpened="player_Opened" 
                    MediaEnded="player_Ended" 
                    MediaFailed="player_Failed" 
                              Position="10"
                    CurrentStateChanged="player_CurrentStateChanged"  />

                </ContentControl>

当我在导航后不尝试让音频工作时,一切都很好,因此当我不使用visual tree helper时,但在这种情况下,音频工作正常,但在播放页面中看不到视频(仅音频)

而不是导航整个页面时,您可以在maine页面中导航框架。这样,您的媒体元素在所有页面上都可以访问

 <Grid>
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <MediaElement Grid.Row="0"/>
        <Frame x:Name="displayedFrame" Grid.Row="1"></Frame>
    </Grid>


当您需要导航而不是使用this.Frame.navigate时,请使用displayedFrame.navigate

而不是导航整个页面,您可以在缅因州页面中导航该框架。这样,您的媒体元素在所有页面上都可以访问

 <Grid>
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <MediaElement Grid.Row="0"/>
        <Frame x:Name="displayedFrame" Grid.Row="1"></Frame>
    </Grid>

当您需要导航而不是使用this.Frame.navigate时,请使用displayedFrame.navigate

 <Grid>
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <MediaElement Grid.Row="0"/>
        <Frame x:Name="displayedFrame" Grid.Row="1"></Frame>
    </Grid>