Как связать List <string> с элементом 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?

Ответ 1

Позвольте мне ответить на это, это просто {Binding}.

Ответ 2

Более простой способ сделать то же самое - просто использовать:

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

По умолчанию это создаст вертикальную StackPanel и добавит каждый элемент в свой собственный TextBlock. Согласно MSDN, это работает для любого из следующих действий:

  • Строка.
  • Объект DateTime.
  • Объект UIElement.
  • Панель управления, содержащая эллипс и текстовый блок.