YDiary

メモ的な

Windows 10 Threshold 2で広くなったストアアプリの最小幅を元に戻す

Windows 10をThreshold 2にアップデートしてからストアアプリの最小幅がPackage.appxmanifestの指定にかかわらず広くなりました.(スケーリングとか関係してそうな気がするけどよく分からない)

f:id:YDKK:20151116155604p:plain:h400これ以上幅が狭くならない…

UWPアプリであればApplicationView.SetPreferredMinSizeメソッドを呼び出して最小サイズを指定すれば済みますが,これはWindows 10のAPIであるためUWP以前のWindows 8.1向けのアプリからは直接呼び出すことができません.
そこで,リフレクションを利用して呼び出します.

public MainPage()
{
  InitializeComponent();
  var v = Windows.UI.ViewManagement.ApplicationView.GetForCurrentView();
  var m = v.GetType().GetRuntimeMethods();
  var mi = m.FirstOrDefault(x => x.Name == "SetPreferredMinSize");
  mi.Invoke(v, new object[] { new Size(320, 0) }); //最小サイズを指定
}

f:id:YDKK:20151116160421p:plain:h400
これで,非UWPアプリでも今まで通りの最小幅に戻すことができました.