Как я могу установить элемент тега ListBoxItem внутри datatemplate? Я привязываю список ListBox, и я пытаюсь добавить информацию в ListBoxItem.Tag из моего DataContext. Я использую DataTemplate для отображения ListBoxItem.Установка элемента тега ListBoxItem внутри таблицы данных?
0
A
ответ
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>