如何将List <string>绑定到ItemsControl?</string>

时间:2009-09-08 11:15:15

标签: c# wpf xaml itemscontrol

在我的演示者中,我有这个属性:

public List<string> PropertyNames { get; set; }

我想用这样的ItemsControl / DataTemplate列出名称:

<ItemsControl ItemsSource="{Binding PropertyNames}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Value}"/>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

由于通用列表没有命名属性,如何在Binding语句中引用

2 个答案:

答案 0 :(得分:36)

让我回答一下,它只是{Binding}

答案 1 :(得分:0)

完成同样事情的更简单方法是简单地使用:

<ItemsControl ItemsSource="{Binding PropertyNames}"/>

默认情况下,这将创建一个垂直StackPanel并在其自己的TextBlock中添加每个元素。根据{{​​3}},这适用于以下任何一种情况:

  • 一个字符串。
  • DateTime对象。
  • UIElement对象。
  • 包含Ellipse和TextBlock的Panel控件。