从全屏幕出来时,视频没有调整窗口大小

时间:2016-01-05 17:37:28

标签: c# .net wpf fullscreen

我正在使用.NET作为WPF应用程序进行媒体播放。

我只是做了全屏事情并且运行良好。但是当我走出全屏时,如果我尝试调整窗口大小,窗口中播放的视频将不会延伸到窗口。

我检查了一下

        <MediaElement Name="MediaPlayer" Grid.Row="1" LoadedBehavior="Manual" Stretch="Fill" />

Stretch =“Fill”被放,所以我错过了什么?

这是我的全屏功能:

    private void Grid_MouseDown(object sender, MouseButtonEventArgs e)
    {

        if (e.ClickCount == 2)
        {
            if (!fullscreen)
            {
                MediaPlayer.Width = System.Windows.SystemParameters.PrimaryScreenWidth;
                MediaPlayer.Height = System.Windows.SystemParameters.PrimaryScreenHeight;
                this.WindowStyle = WindowStyle.None;
                this.WindowState = WindowState.Maximized;
                MediaPlayer.Stretch = System.Windows.Media.Stretch.Fill;
            }
            else
            {
                MediaPlayer.Width = 1280;
                MediaPlayer.Height = 720;
                this.WindowStyle = WindowStyle.SingleBorderWindow;
                this.WindowState = WindowState.Normal;
                MediaPlayer.Stretch = System.Windows.Media.Stretch.Fill;
            }
            fullscreen = !fullscreen;
        }
    }

编辑:我只有在全屏输入一次后才遇到此问题。我可以调整大小,只有在我之前没有将窗口全屏显示时,视频才适合窗口。

1 个答案:

答案 0 :(得分:1)

目前,您以全屏方式硬编码MediaElement Width / Height,而MediaElemet在您全屏显示时保持硬编码大小。删除它,它将运作良好:

private void Grid_MouseDown(object sender, MouseButtonEventArgs e)
{
    if (e.ClickCount == 2)
    {
        if (!fullscreen)
        {
            this.WindowStyle = WindowStyle.None;
            this.WindowState = WindowState.Maximized;
        }
        else
        {
            this.WindowStyle = WindowStyle.SingleBorderWindow;
            this.WindowState = WindowState.Normal;
        }
        fullscreen = !fullscreen;
    }
}