Windows 分辨率改变引起WPF的适应问题

系统分辨率变化,全屏WPF的UI出现没更新和白底之类的现象记录。

您可以使用SystemParameters.WorkArea。最初设置MainWindow的MaxHeight

在MainWindow后面的代码中注册到SystemParameters.StaticPropertyChanged,以接收更改并更新窗口大小。

SystemParameters.StaticPropertyChanged += (sender, args) =>
{
    if (args.PropertyName == nameof(SystemParameters.WorkArea))
    {
         this.Dispatcher.Invoke(() =>
         {
             MaxHeight = SystemParameters.WorkArea.Height;
             Height = SystemParameters.WorkArea.Height;
             WindowState = WindowState.Normal;  // Updates the windows new sizes
             WindowState = WindowState.Maximized;
         });
    }
};

后续接着整理。。。

posted @ 2023-02-03 08:52  stweily  阅读(239)  评论(0)    收藏  举报