html - 垂直滚动,带 WinJS 的 ListView

标签 html css windows-8 winjs

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

我使用 XAML/C# 开发了一个 Windows 8 应用程序,在该应用程序中,我使用 ListView 来获取具有垂直滚动行为的列表。

我现在正尝试使用 HTML/JS 创建相同的应用程序,但无法使用垂直滚动的 ListView 创建列表。它会自动将 ListItems 放在水平线上并水平滚动。

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

我还尝试将 ListView 包装在一个 div 中,该 div 使用此方法在溢出时垂直滚动:

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

最佳答案

在 XAML 中,您使用不同的控件 - GridView 用于水平元素列表,按列填充并在垂直空间用完时换行,ListView 用于垂直元素列表,按列填充且不换行。

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

您可以在 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();
    }

或者您可以使用 ListView 控件 div 的 data-win-options 属性在 HTML 中以声明方式进行设置。 希望对您有所帮助。

关于html - 垂直滚动,带 WinJS 的 ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15809627/

相关文章:

html - 浏览器调整背景图片大小时图片下方出现 1px 故障

javascript - 如何知道 iframe 何时出现?

javascript - Anime.js 如何动画元素到页面中心的过渡?

.net - xaml中控件的 "IsTabStop"属性有什么用?

windows-8 - Windows Notification Server 上的附加参数

Html 和 Body 设置高度

c# - 从 C# 代码重新加载 ASP.NET 站点中的 iframe

css - 使用css将圆分成24段

html - 如何在 CSS 和 HTML 中创建价格标签形状

windows-8 - Windows 安装程序 "This action is only valid for products that are currently installed"- "MSI_DBG: Provided descriptor less than minimum size"