Microsoft Media Platform Player Framework, сделать видео полноэкранным нажатием кнопки (или двойным щелчком по видео)

Я только начал играть с разработкой для Windows 8, и я пытаюсь выяснить, как сделать видео, источник которого - от всплывающего URL-адреса до полноэкранного режима, нажатием кнопки или двойным щелчком мыши по области, где воспроизводится видео. Есть идеи, как это сделать? Как следствие, я также должен быть в состоянии свести его к обычному игровому окну. Любые идеи о том, как сделать это с помощью xaml C#?

ссылка: http://playerframework.codeplex.com/wikipage?title=Windows%208%20Metro%20Player:%20Install%20and%20configure%20-%20XAML/C

2 ответа

Решение

Каркас проигрывателя имеет логическое свойство IsFullScreen для управления полноэкранным состоянием. Однако вам нужно выполнить работу самостоятельно, чтобы скрыть дополнительные элементы на странице и / или изменить размер медиаплеера. Рекомендуемый подход - установить это свойство и обрабатывать событие IsFullScreenChanged. Например:

<Grid Style="{StaticResource LayoutRootStyle}" x:Name="LayoutRoot">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    <Border x:Name="LeftPanel" Background="Red" Width="40"/>
    <mmppf:MediaPlayer x:Name="player" Grid.Column="1" IsFullScreenVisible="True" Source="http://smf.blob.core.windows.net/samples/videos/wildlife.mp4"/>
</Grid>

public MainPage()
{
    this.InitializeComponent();
    player.DoubleTapped += player_DoubleTapped;
    player.IsFullScreenChanged += player_IsFullScreenChanged;
}

void player_IsFullScreenChanged(object sender, RoutedPropertyChangedEventArgs<bool> e)
{
    LeftPanel.Visibility = e.NewValue ? Visibility.Collapsed : Visibility.Visible;
}

void player_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e)
{
    player.IsFullScreen = !player.IsFullScreen;
}

Примечание. Существует также свойство MediaPlayer, вызывающее IsFullScreenVisible, которое можно установить в значение true, чтобы отображать полноэкранную кнопку переключения на панели управления по умолчанию.

Я использовал этот код для fullWindow. Это работает, но в полном окне он использует транспортный контроль по умолчанию

private void MediaPlayer_IsFullScreenChanged(object sender, Windows.UI.Xaml.RoutedPropertyChangedEventArgs<bool> e)
            {
                Microsoft.PlayerFramework.MediaPlayer mp = (sender as Microsoft.PlayerFramework.MediaPlayer);
                mp.IsFullWindow = !mp.IsFullWindow;
            }
Другие вопросы по тегам