C# 使用HeaderedContentControl获取ItemsControl,以便在itemsPresenter中仅显示标题

C# 使用HeaderedContentControl获取ItemsControl,以便在itemsPresenter中仅显示标题,c#,wpf,grid,itemscontrol,C#,Wpf,Grid,Itemscontrol,我有一个ItemsControl,其中HeaderedContentControl作为items。在本文中,我现在只想显示每个HeaderedContentControl的标题。使用ItemsPresenter,我得到了默认模板,该模板当前同时显示标题和内容。我怎样才能避免这种行为?我是否可以指示ItemsPresenter以某种方式使用仅显示标题的本地模板?我尝试向ItemsPresenter添加一个新模板作为资源,但它忽略了…因此,如果我理解正确,您只想显示标题。我不太清楚为什么不在没有He

我有一个ItemsControl,其中HeaderedContentControl作为items。在本文中,我现在只想显示每个HeaderedContentControl的标题。使用ItemsPresenter,我得到了默认模板,该模板当前同时显示标题和内容。我怎样才能避免这种行为?我是否可以指示ItemsPresenter以某种方式使用仅显示标题的本地模板?我尝试向ItemsPresenter添加一个新模板作为资源,但它忽略了…

因此,如果我理解正确,您只想显示标题。我不太清楚为什么不在没有HeaderedContentControl的情况下绑定ItemsControl中的header值。但是您可以将ItemTemplate的DataTemplate留空

因此,我要说的是:

<ItemsControl ItemsSource="{Binding PersonList}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <HeaderedContentControl>
                <HeaderedContentControl.Header>
                    <TextBlock Text="{Binding PersonName}" Foreground="Blue" />
                </HeaderedContentControl.Header>
                <ItemsControl ItemsSource="{Binding FriendList}">
                    <ItemsControl.ItemTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding Name}" />
                        </DataTemplate>
                    </ItemsControl.ItemTemplate>
                </ItemsControl>
            </HeaderedContentControl>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>
您可以这样做:

<ItemsControl ItemsSource="{Binding PersonList}">
        <ItemsControl.ItemTemplate>
        <DataTemplate>
            <HeaderedContentControl>
                <HeaderedContentControl.Header>
                    <TextBlock Text="{Binding PersonName}" Foreground="Blue" />
                </HeaderedContentControl.Header>
                <ItemsControl ItemsSource="{Binding FriendList}">
                    <ItemsControl.ItemTemplate>
                        <DataTemplate /> <!-- Important change -->
                    </ItemsControl.ItemTemplate>
                </ItemsControl>
            </HeaderedContentControl>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

谢谢你试着回答我的问题。我有点含糊不清。itemscontrol中的项实际上是HeaderedContentControl,而在itemscontrol的controltemplate中,我希望有一个itemspresenter来仅显示所有标题。为什么?说来话长。不管怎样,我现在离开了这条轨道。。。无论如何谢谢你!