如何在通用应用程序(win10)中为应用程序窗口设置最小大小?在我项目中,只有带有Page标记的对象,而没有Windows。我希望该应用程序的屏幕不能调整大小关闭certein值少。多谢
t1rydlwq1#
在Windows 8.1通用应用程序的Package.appxmanifest中,您可以将最小宽度设置为3 pre-defined values之一。在页面上设置最小值不会阻止应用程序调整大小。设置最大值也不会阻止调整大小,但当应用程序框架大于您设置的尺寸时,它会导致黑色边框。值得一提的是,320像素是8.1和Windows 10(手机)上的绝对最小宽度。在Windows 10 UWP中,此属性不再可用。您应该AdaptiveTriggers来处理Windows 10上的UI布局。如果你想检查最小尺寸,请记住你的电脑的缩放比例。我的笔记本电脑扩展了125%,桌面客户端的最小尺寸的屏幕截图是627x441(100%时约为500x350),包括用于应用程序栏的空间。但更常见的是在手机和平板电脑之间只使用AdaptiveTrigger和720 pixels as the cut-off。
2guxujil2#
如果你正在开发一个通用的应用程序,你不应该设置一个最小宽度。它应该适用于所有分辨率和设备。你应该使用可视状态管理器和自适应触发器。祝你好运!
wn9m85ua3#
我在2023年遇到了这个问题,对于WinUI 3XAML。如果你可以访问WndProc(你可以在WinUI 3 [可能还有WPF]中访问,但不能在UWP中访问),你可以使用它来设置应用的最小大小。推荐的解决方案implemented on GitHub是使用P/Invoke调用窗口子类函数SetWindowSubclass和DefSubclassProc:1.编写一个处理WM_GETMINMAXINFO的静态WndProc方法,然后通过DefSubclassProc(或示例中的CallWindowProc)将任何其他窗口消息转发到原始WndProc,尽管注意缺点。1.通过SetWindowSubclass(或示例中的SetWindowLongPtr)注册新的WndProc。这是来自an issue on the XAML GitHub repo。参见WinUI 3 How to set Minimum Size of a Window和WM_GETMINMAXINFO in WinUI 3 with C#?
SetWindowSubclass
DefSubclassProc
WM_GETMINMAXINFO
CallWindowProc
SetWindowLongPtr
3条答案
按热度按时间t1rydlwq1#
在Windows 8.1通用应用程序的Package.appxmanifest中,您可以将最小宽度设置为3 pre-defined values之一。在页面上设置最小值不会阻止应用程序调整大小。设置最大值也不会阻止调整大小,但当应用程序框架大于您设置的尺寸时,它会导致黑色边框。值得一提的是,320像素是8.1和Windows 10(手机)上的绝对最小宽度。
在Windows 10 UWP中,此属性不再可用。您应该AdaptiveTriggers来处理Windows 10上的UI布局。
如果你想检查最小尺寸,请记住你的电脑的缩放比例。我的笔记本电脑扩展了125%,桌面客户端的最小尺寸的屏幕截图是627x441(100%时约为500x350),包括用于应用程序栏的空间。但更常见的是在手机和平板电脑之间只使用AdaptiveTrigger和720 pixels as the cut-off。
2guxujil2#
如果你正在开发一个通用的应用程序,你不应该设置一个最小宽度。它应该适用于所有分辨率和设备。
你应该使用可视状态管理器和自适应触发器。
祝你好运!
wn9m85ua3#
我在2023年遇到了这个问题,对于WinUI 3XAML。
如果你可以访问WndProc(你可以在WinUI 3 [可能还有WPF]中访问,但不能在UWP中访问),你可以使用它来设置应用的最小大小。
推荐的解决方案implemented on GitHub是使用P/Invoke调用窗口子类函数
SetWindowSubclass
和DefSubclassProc
:1.编写一个处理
WM_GETMINMAXINFO
的静态WndProc方法,然后通过DefSubclassProc
(或示例中的CallWindowProc
)将任何其他窗口消息转发到原始WndProc,尽管注意缺点。1.通过
SetWindowSubclass
(或示例中的SetWindowLongPtr
)注册新的WndProc。这是来自an issue on the XAML GitHub repo。
参见WinUI 3 How to set Minimum Size of a Window和WM_GETMINMAXINFO in WinUI 3 with C#?