18

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

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

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

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

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

4

2 回答 2

40

让我回答这个问题,它只是{Binding}

于 2009-09-08T11:16:25.227 回答
1

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

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

默认情况下,这将创建一个垂直 StackPanel 并将每个元素添加到它自己的 TextBlock 中。根据MSDN,这适用于以下任何一项:

  • 一个字符串。
  • 一个日期时间对象。
  • 一个 UIElement 对象。
  • 包含 Ellipse 和 TextBlock 的 Panel 控件。
于 2017-06-06T17:13:16.863 回答