2013-05-31 145 views
2

我有一个动态填充列表巫婆我绑定到列表视图。现在我喜欢可编辑的输入字段。我试过两种方式绑定,但不起作用。WinJS双向绑定

这是我的模板列表定义:

<div id="templateList" data-win-control="WinJS.Binding.Template"> 
      <div id="templateGrid"> 
       <div data-win-bind="innerText: project"></div> 
       <div data-win-bind="innerText: subProject"></div> 
       <div data-win-bind="innerText: activity"></div> 
       <div> <input id="txtTaetigkeit" type="text" data-win-bind="value: taetigkeit" /></div> 
       <div> <input id="txtAuftraggeber" type="text" data-win-bind="value: sAuftraggeber" /></div> 
       <div> <input id="txtTotal" type="number" data-win-bind="value: total" /></div> 
       <div> <input id="txtTotalV" type="number" data-win-bind="value: totalV" /></div> 
      </div> 
     </div> 

     <!-- define content --> 
     <div id="contentWrapper"> 
      <div id="templateOverview"> 
       <div id="contentGridTemplates"> 
        <div id="userTemplates" data-win-control="WinJS.UI.ListView" 
         data-win-options="{itemDataSource : actTemplates.itemList.dataSource, 
           itemTemplate: select('#templateList'), 
           layout: {type: WinJS.UI.ListLayout}, 
           tapBehavior: 'directSelect'}"> 
        </div> 
       </div> 
      </div> 
     </div> 

感谢马洛

回答

2

WinJS不提供对目前的双向数据绑定。这意味着您需要为控件实现自己的更改处理程序,以将数据更改反映回数据源。您可以在Windows 8 SDK的Declarative Binding sample中找到此示例。

+1

@Marlowe无耻的自我推销,我写的一个名为[Eight.js](http://eight.codeplex.com)的库提供了一个处理程序,用于使用常用控件进行双向绑定,因此您不必自己写。 – GotDibbs