У меня есть элемент ItemsControl с элементами HeaderedContentControl как элементы. В этом теперь я хочу представить только заголовки каждого HeaderedContentControl. Используя ItemsPresenter, я получаю шаблон по умолчанию, который в настоящее время показывает как заголовок, так и содержимое. Как я могу обойти это поведение? Могу ли я указать ItemsPresenter каким-то образом на использование локального шаблона, показывающего только заголовки? Ive попытался добавить новый шаблон в качестве ресурса в ItemsPresenter, но он игнорирует это ...Получить ItemsControl с HeaderedContentControls, чтобы показывать только заголовок в itemsPresenter
Q
Получить ItemsControl с HeaderedContentControls, чтобы показывать только заголовок в itemsPresenter
0
A
ответ
0
Итак, если я правильно вас понимаю, вы просто хотите показать заголовок. Я не совсем уверен, почему вы не просто привязываетесь к значению заголовка в 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>
Спасибо за то, чтобы ответить на мой вопрос. Я был немного расплывчатым. Элементы управления itemscontrol на самом деле являются headeredcontentcontrols, а в controltemplate для itemscontrol я хотел иметь itemspresenter, чтобы показывать только все заголовки. Зачем? Это длинная история. Во всяком случае, Ive оставил этот трек сейчас ... спасибо в любом случае! –