1

ListView の ItemTemplate でコントロール MicrosoftNSJS.Advertising.AdControl を使用します。一部のデータを次の data-win-options プロパティにバインドしたいと思います: ApplicationId および AdUnitId

ソース データは正しく設定されており、アイテム テンプレートに表示されています。h2 + クラシック データ ウィン バインド on innerText プロパティを使用して表示できます。

HTMLコードに静的IDを直接配置すると、広告は正しく表示されますが、これらのIDは構成ファイルからロードする必要があります...

出来ますか ?ありがとう

それが不可能な場合、listview に挿入する前に、JS コードの項目テンプレートを直接変更できますか?

4

4 に答える 4

1

評価でこの問題がありました:

 <div data-win-control="WinJS.UI.Rating" data-win-options="{averageRating: 3.4, onchange: basics.changeRating}"></div>

winControl 経由でバインドします。

 <div data-win-control="WinJS.UI.Rating" data-win-bind="winControl.averageRating: myrating" data-win-options="{onchange: basics.changeRating}"></div>

うまくいきました。

于 2015-01-22T14:07:21.683 に答える
1

次のような itemTemplateSelector 関数を使用して、実際のバインディングなしでこれを実行する方法を最終的に見つけました。

function itemTemplateSelector(itemPromise) 
{
   return itemPromise.then(function (item) 
   { 
    if (item.type == "ad")
    {
        var template = _$(".adTemplate").winControl.render(item, null);

        // Access to the AdControl through the DOM
        var adControl = template._value.childNodes[1].childNodes[1].winControl;

        // Set options that are specified in the item
        WinJS.UI.setOptions(adControl, { applicationId: item.AdAppId, adUnitId: item.AdUnitId });

        return template;
    }
    else
    {
        return _$(".itemTemplate").winControl.render(item, null);
    }
   }
}
于 2013-05-06T09:32:47.857 に答える
0
<div data-win-bind="this['data-list_item_index']:id WinJS.Binding.setAttribute" >
于 2015-05-20T11:49:31.543 に答える