2012-04-02 115 views
16

我有兩個顯示器。我想製作一個媒體播放器,並且想在我的輔助顯示器上全屏播放視頻。所以我試圖讓使用WPF如何設置輔助顯示器中的WPF窗口位置

這裏的媒體播放器是到目前爲止的代碼,我寫

Screen[] _screens = Screen.AllScreens; 
System.Drawing.Rectangle ractagle = _screens[1].Bounds; 
//player is my window 
player.WindowState = WindowState.Maximized; 
player.WindowStyle = WindowStyle.None; 

player.Left = ractagle.X; 
player.Top = ractagle.Y; 


// MediaControl is an media elements 
MediaControl.Height = ractagle.Height; 
MediaControl.Width = ractagle.Width; 

但不知何故,它只是打我的第一個顯示器上。 非常感謝任何形式的幫助。

回答

17

您需要確保該WindowStartupLocation設置爲Manual爲您顯示

你會在窗口的位置沒有任何影響,否則任何形式。

using System.Windows.Forms; 
// reference System.Drawing 
// 

Screen s = Screen.AllScreens()[1]; 

System.Drawing.Rectangle r = s.WorkingArea(); 
Me.Top = r.Top; 
Me.Left = r.Left; 

這是我使用的窗口的XAML的標題。

<Window x:Class="MainWindow" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
Title="MainWindow" Height="350" Width="823" WindowStartupLocation="Manual"> 
    <Canvas Width="743"> 
     //Controls etc 
    </Canvas> 
</Window> 
+0

哎它不工作,我仔細檢查了,我設置了WindowStartupLocation手冊 – rokonoid 2012-04-02 18:46:21

+0

我敲了一個小樣本展示,它爲我工作。什麼不起作用?請參閱編輯我使用的XAML。 – 2012-04-02 22:46:49

+0

很好的解決方案。但是它只給你一個全屏幕的二級屏幕窗口(你仍然可以看到窗口邊框等)。如果有人絆倒這篇文章,並希望完整的全屏幕,我在這裏找到了解決方案:http://mostlytech.blogspot.de/2008/01/maximizing-wpf-window-to-second-monitor.html – Heribert 2015-06-10 10:21:24