WPF窗口Horizo​​ntalAlignent Stretch

时间:2015-10-20 11:08:07

标签: wpf window stretch

我有一个我想要完成的简单任务:使用水平对齐方式启动WPF窗口,该水平对齐方式被拉伸到当前屏幕的总宽度。我想实现一种自定义Overlay MessageBox(我不想使用第三方控件,如MahApps),我没有使用任何第三方引用。

请查看到目前为止我所取得的成绩(不确定图片是否显示,链接为http://imgur.com/e27DyNJ):

Image

我尝试使用我编写的Controller对象来设置宽度,它基本上将Width,Height,Left和Top设置为主监视器的宽度。下侧是窗口然后弹出主屏幕,而不是当前正在使用的屏幕上。

2 个答案:

答案 0 :(得分:0)

据我所知,WPF没有任何多屏幕功能。您可以PInvoke一些本地Multiple Display Monitor Functions,将它们包装在托管类中,并在这方面使用它们。

答案 1 :(得分:0)

作为解决方法,我已完成以下操作:

var screen = System.Windows.Forms.Screen.FromRectangle(new System.Drawing.Rectangle((int)window.Left, (int)window.Top, (int)window.Width, (int)window.Height));
            window.Width = screen.WorkingArea.Width;
            window.Left = screen.WorkingArea.Left;

其中window是我要调整大小的窗口的实例。

这适用于打开窗口的当前屏幕。