2010-07-01 3 views
0

я связываться с ItemsControl в моем коде:МОФ ItemsControl привязки проблемы

ColumnVisibilityItems.DataContext = gc.ColumnVisibility; 

где ColumnVisibility является ObservableCollection, также пробовал со словарем ..

мой разметки

   <ItemsControl x:Name="ColumnVisibilityItems"> 
        <Label Content="{Binding Path=Name}" /> 
       </ItemsControl> 

в то время как переходя через, я вижу, что коллекция имеет 11 предметов. но ItemsControl отображает только первый элемент в коллекции.

Необходимо установить свойство ItemsSource для этого? потому что всякий раз, когда я пытаюсь установить это в коде позади, я получаю исключение, говоря, что элементы не могут быть изменены, поскольку они уже существуют.

ответ

2

В основном вам необходимо указать свой шаблон. См the msdn docs для более полного примера

<ItemsControl x:Name="ColumnVisibilityItems" ItemsSource="{Binding}> 
    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <Label Content="{Binding Path=Name}" /> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
</ItemsControl> 
+0

я так и думал, а на самом деле пытался баловаться с ItemTemplate, но это, кажется, не делают большой разницы. Например, этот код создает один пустой элемент ... Я устанавливаю неверное привязку в коде? –

+0

Я обновил свой пример, чтобы показать, как вы бы установили ItemsSource, который, вероятно, вам нужен – kenwarner

+0

yep, вот и все, спасибо! –

Смежные вопросы