如何设置Windows 8.1应用程序的最小高度?

时间:2016-04-21 00:24:52

标签: c# windows-8.1 win-universal-app windows-10 windows-8.1-universal

对于 Windows 10 UWP 应用,我们对最大最小窗口大小有ApplicationView.SetPreferredMinSize() 500 x 500 限制。但是 Windows 8.1 应用程序呢?是否有类似的API来设置应用程序窗口的最小宽度和高度?

似乎空白Windows 8.1应用程序的默认最小高度明显大于空白Windows 10 UWP应用程序的高度,我无法找到可以设置或更改的位置。

1 个答案:

答案 0 :(得分:2)

  

我很想知道现在可以改变它们的最小高度和宽度。

是的,我们可以使用反射在Windows 8.1应用程序中的运行时调用ApplicationView.SetPreferredMinSize方法来实现您想要的效果。以下是一个简单的示例:

var appView = Windows.UI.ViewManagement.ApplicationView.GetForCurrentView();
var setPreferredMinSizeMethod = appView.GetType().GetRuntimeMethod("SetPreferredMinSize", new Type[] { typeof(Size) });

if (setPreferredMinSizeMethod != null)
{
    setPreferredMinSizeMethod.Invoke(appView, new object[] { new Size(300, 300) });
}

使用此方法后,您可以更改应用的最小高度和宽度:enter image description here

但请注意,在Windows 10上,Windows 8.1应用程序的ApplicaitonView主要由系统控制。如果没有必要,请不要使用反射来做到这一点。