当 CharmsBar(特别是 SearchPane)打开时,我想调整我的应用程序的一些控件的大小。我做了一些测试,宽度通常为 343,但有时更大(这取决于屏幕的大小,而不是分辨率。至少,使用模拟器)。
有人知道是否有一种编程方法可以获取该值吗?
当 CharmsBar(特别是 SearchPane)打开时,我想调整我的应用程序的一些控件的大小。我做了一些测试,宽度通常为 343,但有时更大(这取决于屏幕的大小,而不是分辨率。至少,使用模拟器)。
有人知道是否有一种编程方法可以获取该值吗?
宽度始终为 346 ,但您必须应用缩放因子才能获得以像素为单位的实际宽度。这可以通过以下方式实现:
double SearchPaneWidth() {
var scale = Windows.Graphics.Display.DisplayProperties.ResolutionScale;
switch (scale) {
case Windows.Graphics.Display.ResolutionScale.Scale100Percent:
return 1.0 * 346;
case Windows.Graphics.Display.ResolutionScale.Scale140Percent:
return 1.4 * 346;
case Windows.Graphics.Display.ResolutionScale.Invalid:
return 1.8 * 346;
default:
throw new Exception("Unknown resolution scale");
}
}