代码之家  ›  专栏  ›  技术社区  ›  Andreas Zita

Get ItemsControl with HeaderedContentControls以在itemsPresenter中仅显示标题

  •  0
  • Andreas Zita  · 技术社区  · 15 年前

    1 回复  |  直到 15 年前
        1
  •  0
  •   chrislarson    15 年前

    如果我理解正确的话,你只需要显示标题。我不太清楚为什么不在没有HeaderedContentControl的情况下绑定到ItemsControl中头的值。但是您可以将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>