WinUI 3如何设置窗口的最小大小



在UWP中,我们可以使用

ApplicationView.GetForCurrentView().SetPreferredMinSize(new Size(500, 500));

,

ApplicationView.GetForCurrentView();

在WinUI 3中返回null。有没有办法设置窗口的最小尺寸

推荐的解决方案,在GitHub上实现,是使用p/Invoke调用窗口子类函数SetWindowSubclassDefSubclassProc:

  1. 写一个静态的WndProc方法处理WM_GETMINMAXINFO,然后转发任何其他窗口消息到原始的WndProc,通过DefSubclassProc(或CallWindowProc在例子中),尽管注意缺点)。
  2. 注册你的新WndProc通过SetWindowSubclass(或SetWindowLongPtr在示例中)。

这来自于XAML GitHub repo的一个问题。

参见这个类似的问题和另一个类似的问题以获得更多信息。

最新更新