2010-11-03 66 views
0

我有一個ItemsControl與HeaderedContentControl的項目。在此我現在只想呈現每個HeaderedContentControl的標題。使用ItemsPresenter我得到當前同時顯示標題和內容的默認模板。我怎樣才能解決這個問題?我可以指示ItemsPresenter以某種方式使用僅顯示標題的本地模板嗎?我曾嘗試添加一個新的模板作爲資源給ItemsPresenter,但它忽略了...獲取ItemsControl與HeaderedContentControls只顯示在項目演示文稿中的標題

回答

0

所以,如果我理解你正確,你只是想顯示標題。我不確定爲什麼你不會在沒有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> 
+0

謝謝你試圖回答我的問題。我有點含糊。 itemscontrol中的項目實際上是headeredcontentcontrols,而在itemcontrol的controltemplate中,我希望itempresenter只顯示所有標題。爲什麼?說來話長。無論如何,我現在離開了這條賽道......無論如何感謝! – 2010-11-04 08:52:38