【发布时间】:2014-04-09 17:49:14
【问题描述】:
我有一系列显示为-ms-grid 的 div。这些是使用WinJS.UI.Repeater 对象输出的。
我需要为当前迭代动态分配-ms-grid-row 值。
我该怎么做呢?
中继器
<div data-win-control="WinJS.UI.Repeater" data-win-options="{template: select('.template')}">
</div>
中继器模板
<div class="template" data-win-control="WinJS.Binding.Template">
<div class="col1" style="-ms-grid-row:"></div>
<div class="col2" style="-ms-grid-row:"></div>
<div class="col3" style="-ms-grid-row:"></div>
<div class="col4" style="-ms-grid-row:"></div>
</div>
CSS
.grid {
display: -ms-grid;
-ms-grid-columns: (1fr)[4];
-ms-grid-rows: (auto)[1000];
}
.grid .col1 {
-ms-grid-column: 1;
}
.grid .col2 {
-ms-grid-column: 2;
}
.grid .col3 {
-ms-grid-column: 3;
}
.grid .col4 {
-ms-grid-column: 4;
}
因为最多可以有 1000 行,所以我需要像这样内联分配样式:
渲染标记
<div class="col1" style="-ms-grid-row: 1">test</div>
<div class="col2" style="-ms-grid-row: 1">test</div>
<div class="col3" style="-ms-grid-row: 1">test</div>
<div class="col4" style="-ms-grid-row: 1">test</div>
<div class="col1" style="-ms-grid-row: 2">test</div>
<div class="col2" style="-ms-grid-row: 2">test</div>
<div class="col3" style="-ms-grid-row: 2">test</div>
<div class="col4" style="-ms-grid-row: 2">test</div>
但我不知道如何在中继器中执行此操作?
非常感谢
克里斯
【问题讨论】:
-
您是否尝试过使用转换器功能?您可以将一个函数绑定到您的样式属性,该属性将返回您需要的值
-
嗨,Maurizio,你有可以给我看的例子吗?非常感谢。
-
在下面查看我的答案,让我知道您尝试了什么,以便我们更新答案以更准确。对不起,我没有机会用你的具体情况尝试一下
标签: microsoft-metro windows-8.1 winjs