我有一个以HeaderedContentControl作为项的ItemsControl。在这里,我现在只想显示每个HeaderedContentControl的头。使用ItemsPresenter,我得到了默认模板,它当前同时显示标题和内容。我怎样才能避免这种行为呢?我能以某种方式指示ItemsPresenter使用只显示标题的本地模板吗?我尝试将新模板作为资源添加到ItemsPresenter中,但它忽略了这一点...
发布于 2010-11-04 01:28:02
所以如果我没理解错的话,你只是想要显示标题。我不太确定为什么不能在没有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>https://stackoverflow.com/questions/4088739
复制相似问题