2013-04-04 110 views
0

如何使用WinJS在Windows8应用程序中使用HTML/JS垂直滚动ListView?垂直滚动,ListView与WinJS

我已经用XAML/C#开发了一个Windows 8应用程序,并且在应用程序中我使用ListView来获得垂直滚动行为的列表。

我现在试图用HTML/JS创建相同的应用程序,但未能创建一个ListView垂直滚动的列表。它会自动将ListItems放在水平线上并水平滚动。

我认为GridView可以用于水平滚动的“列表”和用于垂直滚动的ListView。

我也试着来包装,使用这一垂直溢出滚动一个div内的ListView:

<div style="overflow-y:scroll;"> 
    // ListView 
</div> 

回答

4

在XAML中,使用不同的控件 - GridView控件用于通过填写项目的水平列表列,当它们用完垂直空间和ListView时,将按列填充并且不包装的项目的垂直列表。

在HTML中,您对两种情况都使用ListView。要在相同的两种行为之间切换,请设置ListView的layout属性。相当于XAML GridView将其设置为new WinJS.UI.GridLayout(),对于相当于XAML ListView的设置为new WinJS.UI.ListLayout()

你可以用的东西做到这一点在JavaScript像...

if (Windows.UI.ViewManagement.ApplicationView.value == Windows.UI.ViewManagement.ApplicationViewState.snapped) { 
     demosListView.layout = new WinJS.UI.ListLayout(); 
    } 
    else { 
     demosListView.layout = new WinJS.UI.GridLayout(); 
    } 

或者你可以在HTML中使用ListView控件div的数据双赢的选项属性设置声明此。 希望有所帮助。

+1

谢谢'data-win-options =“{layout:{type:WinJS.UI.ListLayout}}''做了工作! – 2013-04-08 09:25:38