2013-04-04 138 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