1

我有一个在多个地方使用的 ListView 模板,我想动态更改布局类型:

<div class="sorteditemslist" arial-label="sorted items" 
   data-win-control="WinJS.UI.ListView"
   data-win-options="{layout: { type: WinJS.UI.ListLayout}}"
   data-win-bind="winControl.itemDataSource: items.dataSource; winControl.iteminvoked: ItemInvoked;">

默认布局类型是WinJS.UI.GridLayout,但在某些情况下,我想将其更改为ListLayout.

4

2 回答 2

2

是的,这是可能的。我能够使用以下代码使其正常工作:

var listView = element.querySelector(".sorteditemslist").winControl;
WinJS.ui.setOptions(listView, { layout: { type: WinJS.UI.ListLayout }});

此外,请确保在模板中提取对布局的引用,或者在代码中处理这两种情况。有关布局的更多信息,请参阅msdn 页面

于 2012-06-25T21:26:34.653 回答
0

正如@wloescher 指出的那样,您可以使用:

listViewElem.layout = new WinJS.UI.GridLayout({ orientation: 'horizontal', maxRows: 1 });
于 2015-05-05T09:35:36.607 回答