gridview - 如何在 WinRT-Apps 中检测和处理截然不同的屏幕尺寸?

标签 gridview windows-8 microsoft-metro screen-resolution

我想知道检测(和处理)非常不同的屏幕尺寸的最佳方法是什么。

为什么我这么问:我有一个带有 GridView (和不同项目)的 Metro(Win8 UI)风格的应用程序,请参阅模型。对于每个类别,我都选择了几个在第一页上显示的类别。如果屏幕尺寸(分辨率)很小(例如在平板电脑上),我只想显示每个类别 3-4 个项目。在大屏幕上我大概可以显示 10 个项目。否则就会有很多未使用的空白空间。 (在详细信息页面上,这没有问题,因为我显示了所有项目,它会自动调整到更大的屏幕尺寸。)

这也是 Steven Sinofsky(微软)的意图,正如他在他的 BlogPost 中所写的那样。 .

这是我的应用程序在小屏幕上的模型。

Win8 RT app mockup on small screen

感谢您的提示!

最佳答案

您可能可以在加载页面时检查页面中的 this.Frame.ActualWidththis.Frame.ActualHeight 的值,以计算出大致有多少个项目你想展示。不过,请注意缩放 - 这可能会使您的计算变得更加复杂,但也不会过于复杂。由于您可能应该知道 GridView 中元素的大小,因此您应该能够计算出有多少元素适合您拥有的屏幕区域。那么这只是将适当数量的项目放入 View 模型中,然后将其绑定(bind)到 View 的情况。

关于gridview - 如何在 WinRT-Apps 中检测和处理截然不同的屏幕尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12002213/

相关文章:

vb.net - 使用 GridView 和 LINQ 进行排序的最佳方法是什么?

javascript - 在 Gridster.js 中更新图 block 位置的算法是什么

c# - Windows Store 动态添加项目到 GridView

mvvm - Caliburn Micro 和跨应用程序共享 View 模型

c# - .Net 2.0、VS2010 和 Windows 8 上的 "Could not load file or assembly System.Drawing or one of its dependencies"错误

c++ - PKEY_EdgeGesture_DisableTouchWhenFullscreen 未声明的标识符

javascript - WinJS:如何直接在选项中解析全局资源

c# - DataGrid 中的两个数据源

javascript - 在 Windows 8 Metro 应用程序中进行后台轮询的最佳方式是什么?

listview - XAML : Using Semantic Zoom and ListView MakeVisible doesn't scroll