ListViewアイテムのデフォルトの選択テンプレートを変更したいのですが。デフォルトでは、3ピクセル幅の灰色の境界線が現在選択されているアイテムに適用されます。
ui.jsで見つけたのは、内部的に_selectionTemplateプロパティがデフォルトの境界線に設定されていることです。
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の設計に反するように思われます。このデフォルトの選択テンプレートを変更するためのより良い回避策はありますか?