ItemsControl中的元素类型是什么?

时间:2010-08-25 09:32:18

标签: wpf

当我使用ListBox时 - 里面的元素是ListBoxItem类型,对于ComboBox,它们是ComboBoxItems。它们对于ItemsControl是什么类型的?我一直在挖掘Blend的模板无济于事。

我希望为ItemsControl中的项目创建一个新的ControlTemplate。

用代码澄清:

编辑:找出如下所示的类型:

<UserControl.Resources>
    <Style x:Key="TemplateStyle" TargetType="{x:Type ContentControl}"> <!-- Here I need the correct Type in the TargetType-tag -->
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ContentControl}"> <!-- Again, I need the correct Type in a TargetType-tag -->
                    <DockPanel>
                        <TextBlock Text="Header" DockPanel.Dock="Top"/>
                        <ContentPresenter/>
                    </DockPanel>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
</UserControl.Resources>
<ItemsControl ItemContainerStyle="{StaticResource TemplateStyle}"/>

2 个答案:

答案 0 :(得分:1)

它只是一个ContentPresenter,这意味着它将使用与该类型相关联的DataTemplate呈现。

如果您想明确控制项目的呈现方式,可以使用ItemTemplate

<ItemsControl ItemsSource="{Binding Customers}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Name}"/>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

答案 1 :(得分:0)

我通过反复试验弄明白了。 ItemsControl中的类型是某种ContentControl(可能只是一个ContentControl)。我会为其他人更新问题。