从GridView切换到ListView时,Windows Store应用程序的快照

Switching from GridView to ListView when Windows Store app is snapped

本文关键字:Store Windows 应用程序 快照 GridView ListView      更新时间:2023-09-26

我试图改变我的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();
}

从这里开始,只需监听resize事件并更改listview的布局属性。

我不知道你在代码中什么地方调用了类似的代码,所以这里是你需要的整个方法

<>之前window.addEventListener("大小",函数(e) {var currentViewState = Windows.UI.ViewManagement.ApplicationView.value;var snaps = windows . ui . viewmanagement . applicationviewstate . snaps;if (currentViewState === snap) {that.listView.layout = new WinJS.UI.ListLayout();}else if (lastViewState === snap &&currentViewState == snap) {that.listView.layout = new WinJS.UI.GridLayout();}lastViewState = currentViewState;});

尝试调用list.forceLayout(),它救了我很多次命…: -)