0

通常は次のようになります。

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

これは、リストの各アイテムに対して、TextBoxバインドされたアイテムのそれぞれのプロパティにバインドされることを意味します。

DataTemplateアイテムごとに異なるデータ バインディングを使用して を作成することはできますか?

例: 製品エンティティのリストがあります。最初の項目には名前をバインドする必要があり、2 番目の項目には住所、3 番目の項目には価格などを指定する必要があります。

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 に答える