当我使用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}"/>
答案 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)。我会为其他人更新问题。