2012-08-04 121 views
0

我使用ItemsControlItemTemplateSelector來繪製顯示我的項目的UI。但是現在,我所有的元素都需要在Grid之內(並且元素應該在其中的一列)。如何在ItemsControl中的每個元素周圍繪製邊框?

在我認爲一開始是正確的有嵌套在一個ItemsControlContentControl,這ContentControl應該有ItemTemplateSelector,但我不知道這是否是做的最好的方式。

回答

2

類似的東西應該是在項目容器的Template,對於ItemsControls就是有點問題的,因爲,容器是ContentPresenters不具有Template。您可以子類ItemsControlto use a ContentControl,然後使用ItemsControl.ItemContainerStyle編輯這些容器的Template

+0

謝謝。我已經調查了一下'GetContainerForItemOverride',這個問題幫助了我。 http://stackoverflow.com/questions/3542381/specify-controltemplate-for-itemscontrol-itemcontainerstyle – 2012-08-05 17:03:15

0
<ItemsControl x:Name="lst"> 
     <ItemsControl.ItemTemplate> 
      <DataTemplate> 
      <Border BorderThickness="10" CornerRadius="1" BorderBrush="Navy"> 
        <TextBox Text="{Binding Name}"/> 
      </Border> 
      </DataTemplate> 
     </ItemsControl.ItemTemplate> 
    </ItemsControl> 

我希望這會有所幫助。

相關問題