【发布时间】:2013-04-27 16:43:40
【问题描述】:
当应用程序被捕捉时,我正在尝试将我的 listView 控件的布局从“GridView”更改为“ListView”。当然,它应该在任何其他状态下返回“GridView”。我写了一些代码,但它不起作用,所以我想知道为什么......
这是我写的代码:
var viewState = Windows.UI.ViewManagement.ApplicationView;
var list = document.getElementById("messageDisplay").winControl;
if (viewState == Windows.UI.ViewManagement.ApplicationViewState.snapped) {
list.layout = new WinJS.UI.ListLayout();
}
else
{
list.layout = new WinJS.UI.GridLayout();
}
【问题讨论】:
-
页面的js文件中的“updateLayout”函数中是否定义了代码?如果是这样,则传递的参数之一是 viewState。此外,您似乎可以使用媒体查询来处理这个问题,只是一个想法。
-
共享代码初始化listview其他属性,如itemDataSource、groupDataSource、itemTemplate、groupHeaderTemplate和updateLayout方法。
-
FWIW:仅从处理这两种情况的样式角度来看,我们在使其正常工作时遇到了问题——这使得它非常混乱。在某些情况下,我们最终只有两个列表,一个在捕捉时显示,另一个在不捕捉时显示,但请注意,这些是具有静态数据源的列表。
-
我解决了,谢谢大家:)
标签: javascript listview windows-8 winjs