因此在UWP中,我们可以使用
ApplicationView.GetForCurrentView().SetPreferredMinSize(new Size(500, 500));
但是
ApplicationView.GetForCurrentView();
在WinUI 3中返回null。有没有一种方法来设置窗口的最小大小?
因此在UWP中,我们可以使用
ApplicationView.GetForCurrentView().SetPreferredMinSize(new Size(500, 500));
ApplicationView.GetForCurrentView();
在WinUI 3中返回null。有没有一种方法来设置窗口的最小大小?
推荐的解决方案,在GitHub上实现,是使用P/Invoke调用窗口子类化函数SetWindowSubclass
和DefSubclassProc
:
WM_GETMINMAXINFO
,然后通过 DefSubclassProc
(或示例中的 CallWindowProc
)将任何其他窗口消息转发到原始 WndProc,尽管请注意 缺点)。SetWindowSubclass
(或示例中的 SetWindowLongPtr
)注册您的新 WndProc。这来自于 XAML GitHub 存储库上的问题。