/ / Získať ItemsControl s HeaderedContentControls zobraziť iba Header v itemsPresenter - c #, wpf, grid, itemscontrol

Získajte ItemsControl s HeaderedContentControls, aby ste zobrazili iba položky Header v položke ItemsPresenter - c #, wpf, grid, itemscontrol

Mám ItemsControl sHeaderedContentControl "s ako položky. V tomto teraz chcem prezentovať len hlavičky každého HeaderedContentControl. Pomocou ItemsPresenter dostanem predvolenú šablónu, ktorá momentálne zobrazuje ako hlavičku, tak aj obsah. Ako sa môžem dostať k tomuto správaniu? Môžem poučiť ItemsPresenter nejako používať lokálnu šablónu zobrazujúcu iba hlavičky? Ive snažil pridať novú šablónu ako zdroj do ItemsPresenter, ale to ignoruje, že ...

odpovede:

0 pre odpoveď č. 1

Takže ak ti rozumiem správne, chcešpre zobrazenie záhlavia. I "m nie je presne istý, prečo by ste" t len ​​viazať na hodnotu hlavičky v ItemsControl bez HeaderedContentControl. Môžete však ponechať prázdnu položku DataTemplate s prázdnou položkou ItemTemplate.

Takže prichádzame na toto:

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

Urobíte to takto:

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