2016-01-05 132 views
3

我正在做一個媒體播放器作爲使用.NET的WPF應用程序。從全屏出來時視頻無法調整窗口大小

我只是做了全屏的東西,它運作良好。但是當我全屏出來時,如果我嘗試調整窗口大小後,窗口中播放的視頻不會伸展到窗口。

我檢查,我把

 <MediaElement Name="MediaPlayer" Grid.Row="1" LoadedBehavior="Manual" 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

目前,您在全屏方式下對MediaElement寬度/高度進行了硬編碼,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; 
    } 
} 
+0

謝謝,我完全忘了! – Difender

相關問題