检测 Windows 8.x 中的桌面何时在 WPF 中对齐

Detecting when the desktop in Windows 8.x is snapped in WPF

我有一个无窗口、无边框的 WPF 应用程序,它在桌面上最大化。当桌面被截断时,我的应用程序被切断了。同样,当我的应用程序在快照桌面中启动时,它会窃取整个监视器的焦点。

我需要更新我的可见元素,以便它们不再被 Windows 8.x 快照截断。是否有事件或 api 让我的代码对此更改做出反应?

订阅您 "MainWindow" 的 SizeChanged 活动。每当用户更改大小或由于现代应用程序对齐而更改大小时,都会触发此事件。如果您将宽度和高度设置为静态,则不会触发该事件。

public MainWindow()
{
    InitializeComponent();
    this.SizeChanged += OnSizeChanged;
}

private void OnSizeChanged(object sender, SizeChangedEventArgs     sizeChangedEventArgs)
{
    System.Diagnostics.Debug.WriteLine(sizeChangedEventArgs.NewSize);            
}