Получить ItemsControl с HeaderedContentControls, чтобы отображать только заголовок в itemsPresenter - PullRequest
0 голосов
/ 03 ноября 2010

У меня есть ItemsControl с HeaderedContentControl's в качестве элементов.В этом я сейчас хочу представить только заголовки каждого HeaderedContentControl.Используя ItemsPresenter, я получаю шаблон по умолчанию, который в настоящее время показывает как заголовок, так и содержимое.Как я могу обойти это поведение?Можно ли как-то проинструктировать ItemsPresenter использовать локальный шаблон, показывающий только заголовки?Я пытался добавить новый шаблон в качестве ресурса в ItemsPresenter, но он игнорирует это ...

1 Ответ

0 голосов
/ 03 ноября 2010

Так что, если я вас правильно понимаю, вы просто хотите показать заголовок. Я не совсем уверен, почему бы вам не связать значение заголовка в ItemsControl без HeaderedContentControl. Но вы можете просто оставить DataTemplate ItemTemplate пустым.

Итак, для этого:

<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>
...