【发布时间】:2016-01-26 03:17:59
【问题描述】:
我想让窗口始终最大化,它可以在单个屏幕上完美运行。但是当我使用两个屏幕时(特别是当主屏幕发生变化时),我捕捉到分辨率更改事件并使其最大化,但它不起作用。而且我已经尝试过处理窗口的宽度和高度,它也不起作用。
这是我的操作方式:
- 使用单个小屏幕(1366 * 768),窗口最大化。
- 再连接一个大屏(1920 * 1080),设置为主屏(我们现在有两个屏)。然后窗口会显示在大屏中,并且不会最大化,保持在大小1366*768(奇怪的是它有时会最大化,但并非总是如此)。
这是我的代码:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.WindowState = WindowState.Maximized;
SystemEvents.DisplaySettingsChanged += SystemEvents_DisplaySettingsChanged;
}
//this method catch the resolution changed event
private void SystemEvent_DisplaySettingsChanged(object sender, EventsArgs e)
{
WindowState = WindowState.Maximized;
}
}
窗口xaml代码:
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
ResizeMode="CanMinimize"
SizeToContent="Manual"
WindowStartupLocation="CenterScreen" />
【问题讨论】:
标签: c# wpf window maximize mainscreen