在datatemplate中设置ListBoxItem的标记成员?

时间:2009-06-04 14:15:58

标签: wpf xaml wpf-controls

如何在datatemplate中设置ListBoxItem的标记成员?我正在数据绑定ListBox,我正在尝试从我的DataContext向ListBoxItem.Tag添加信息。我正在使用A DataTemplate来显示ListBoxItem。

1 个答案:

答案 0 :(得分:1)

不应在DataTemplate中为项目设置标记,而应该通过样式设置它。我们可以将样式和模板应用于我们的项目,它们不会相互干扰。因为我们的项目将在ListBox中,它们将自动包装在ListBoxItem中,我们可以使用我们的样式来定位该类型。

这里我们将一些DataTemplate应用于项目(在某处作为资源定义)并使用Style为此ListBox中的每个项目设置标记值。

        <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>
相关问题