首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在WinJS中更改ListView选择模板

在WinJS中更改ListView选择模板
EN

Stack Overflow用户
提问于 2012-08-24 17:37:01
回答 1查看 1.2K关注 0票数 4

我想更改ListView项目的默认选择模板。默认情况下,3像素宽的灰色边框应用于当前选定的项目:

我在ui.js中发现,在内部,_selectionTemplate属性被设置为默认边框:

代码语言:javascript
复制
var selectionBorder = createNodeWithClass(WinJS.UI._selectionBorderContainerClass);
selectionBorder.appendChild(createNodeWithClass(WinJS.UI._selectionBorderClass + " " + WinJS.UI._selectionBorderTopClass));
selectionBorder.appendChild(createNodeWithClass(WinJS.UI._selectionBorderClass + " " + WinJS.UI._selectionBorderRightClass));
selectionBorder.appendChild(createNodeWithClass(WinJS.UI._selectionBorderClass + " " + WinJS.UI._selectionBorderBottomClass));
selectionBorder.appendChild(createNodeWithClass(WinJS.UI._selectionBorderClass + " " + WinJS.UI._selectionBorderLeftClass));

this._selectionTemplate = [];
this._selectionTemplate.push(createNodeWithClass(WinJS.UI._selectionBackgroundClass));
this._selectionTemplate.push(selectionBorder);
this._selectionTemplate.push(createNodeWithClass(WinJS.UI._selectionCheckmarkBackgroundClass));
var checkmark = createNodeWithClass(WinJS.UI._selectionCheckmarkClass);
checkmark.innerText = WinJS.UI._SELECTION_CHECKMARK;
this._selectionTemplate.push(checkmark);

然而,由于_selectionTemplate应该是私有的,因此修改_selectionTemplate属性本身似乎违背了ListView的设计。是否有更好的解决方法来修改此默认选择模板?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-25 02:39:15

覆盖默认模板使用的CSS类。例如,这会将边框更改为红色:

代码语言:javascript
复制
.win-listview .win-container:hover{
    outline: rgba(255, 0, 0, 0.3) solid 3px;
}
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12106797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档