2012-04-02 16 views
16

2つのディスプレイがあります。私はメディアプレーヤーを作りたいと思っていて、私はセカンダリディスプレイでビデオフルスクリーンを再生したい。だから私はここでWPF2次ディスプレイの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

ちょっとその動作していない、私はダブルチェック、私は証明するために、少量のサンプルをノックし、それが私の作品 – rokonoid

+0

WindowStartupLocationマニュアル設定。何が効いていないのですか?使用したXAMLの編集を参照してください。 –

+0

すてきな解決策。ただし、セカンダリ画面ではフルスクリーンウィンドウしか表示されません(ウィンドウの境界線などは表示されます)。他の誰かがこの投稿につまずいて完全なフルスクリーンを望む場合は、ここで解決策を見つけました:http://mostlytech.blogspot.de/2008/01/maximizing-wpf-window-to-second-monitor.html – Heribert

関連する問題