如何设置辅助显示器中的WPF窗口位置
问题描述:
我有两个显示器。我想制作一个媒体播放器,并且想在我的辅助显示器上全屏播放视频。所以我试图让使用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;
但不知何故,它只是打我的第一个显示器上。 非常感谢任何形式的帮助。
答
您需要确保该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>
哎它不工作,我仔细检查了,我设置了WindowStartupLocation手册 – rokonoid 2012-04-02 18:46:21
我敲了一个小样本展示,它为我工作。什么不起作用?请参阅编辑我使用的XAML。 – 2012-04-02 22:46:49
很好的解决方案。但是它只给你一个全屏幕的二级屏幕窗口(你仍然可以看到窗口边框等)。如果有人绊倒这篇文章,并希望完整的全屏幕,我在这里找到了解决方案:http://mostlytech.blogspot.de/2008/01/maximizing-wpf-window-to-second-monitor.html – Heribert 2015-06-10 10:21:24