0

通常它会是:

<DataTemplate>
   <TextBox Text ="{Binding SomeProperty}" />
</DataTemplate>

这意味着对于列表的每个项目,TextBox都绑定到绑定项目的相应属性。

DataTemplate是否可以为每个项目创建具有不同数据绑定的数据?

例如:我有一个产品实体列表。第一项需要绑定名称,第二项需要绑定地址,第三项需要绑定价格,以此类推。

模板的TextBox保留所有项目,但Binding更改:

<DataTemplate>
   <TextBox Text ="{Binding <RunTimePropertyName>}" />
</DataTemplate>

注意:<""> - 更改Binding

4

1 回答 1

0

我会围绕您要绑定的对象创建一个包装类。就像是:

public class ItemWrapper : OriginalItem
{
    public int RowNum { get; set; }
    public string TextForRow
    {
        get
        {
            if(RowNum == 0)
                return this.Name
            else if(RowNumb == 1)
                return this.Address
        }
}

然后绑定到 TextForRow 属性。

您将不得不以某种方式填写 RowNum,但我假设那在您的某个地方OriginalItem

于 2013-01-09T00:49:37.500 回答