2009-06-04 3 views

ответ

1

Вместо того, чтобы устанавливать тег в DataTemplate для ваших предметов, вы должны посмотреть на его настройку по стилю. Мы можем применять как стиль, так и шаблон к нашим предметам, и они не будут мешать друг другу. Поскольку наши элементы будут находиться внутри ListBox, они автоматически будут завернуты в ListBoxItem, и мы можем настроить этот тип с помощью нашего стиля.

Здесь мы применяем некоторые DataTemplate к элементам (определенным где-то как ресурс) и используя стиль для установки значения тега для каждого элемента в этом списке.

 <ListBox ItemsSource="{Binding MyItems}" ItemTemplate="{StaticResource MyDataTemplate}"> 
      <ListBox.ItemContainerStyle> 
       <Style TargetType="{x:Type ListBoxItem}"> 
        <Setter Property="Tag" 
          Value="It has a Tag" /> 
       </Style> 
      </ListBox.ItemContainerStyle> 
     </ListBox>