2012-10-16 100 views
2

有没有一种方法可以检测Windows 8应用程序中的屏幕分辨率,以便我可以相应地缩放和调整UI的元素大小?Windows 8应用程序中的屏幕分辨率检测

如果没有,那么开发一个独立于分辨率的应用程序的最佳方式是什么?有没有我没有意识到的标准方式,还是有其他方式可以实现?

回答

3

任何从FrameworkElement继承的事件都有一个SizeChanged事件。此事件返回框架元素的当前大小。

为了让屏幕的整体大小,你可以使用:

Windows.UI.Xaml.Window.Current.Bounds.Height 
Windows.UI.Xaml.Window.Current.Bounds.Width 

要小心,因为这会返回屏幕的大小,你需要考虑你的应用程序是全屏或啪/填充。

微软指导说,你应该避免的高度/宽度绝对值和简单设置的Horizo​​ntalAlignment和VerticalAlignment为Stretch允许,因为它需要呈现UI采取尽可能多的空间。

+0

我没弄明白。我现在正在设计一个1366x768的基本分辨率,将我的所有UI都放入Viewbox控件中。到目前为止它工作得很好。 –

+1

它使应用程序窗口不是系统的电流的大小,如果可能产生错误的结果,当屏幕处于抓拍视图 –

+0

默认情况下,Windows应用商店中的应用程序设计,其具有屏幕尺寸10.6" 和分辨率屏幕1366 * 768.If我想设计我的应用程序,为每个画面的大小和每分辨率是多少?有没有办法做到这一点? –

2
Windows.Graphics.Display.DisplayProperties.LogicalDpi 
+0

我要给予好评这个神秘的答案,因为这有助于我的问题,不同于所有其他的答案。我一直在寻找摆脱逻辑的WinRT像素尺寸设备的屏幕分辨率。逻辑像素宽x(逻辑DPI/96 )给我设备像素宽度 –

+0

你为什么分为96? – Mark