我使用ItemsControl
和ItemTemplateSelector
來繪製顯示我的項目的UI。但是現在,我所有的元素都需要在Grid
之內(並且元素應該在其中的一列)。如何在ItemsControl中的每個元素周圍繪製邊框?
在我認爲一開始是正確的有嵌套在一個ItemsControl
ContentControl
,這ContentControl
應該有ItemTemplateSelector
,但我不知道這是否是做的最好的方式。
我使用ItemsControl
和ItemTemplateSelector
來繪製顯示我的項目的UI。但是現在,我所有的元素都需要在Grid
之內(並且元素應該在其中的一列)。如何在ItemsControl中的每個元素周圍繪製邊框?
在我認爲一開始是正確的有嵌套在一個ItemsControl
ContentControl
,這ContentControl
應該有ItemTemplateSelector
,但我不知道這是否是做的最好的方式。
類似的東西應該是在項目容器的Template
,對於ItemsControls
就是有點問題的,因爲,容器是ContentPresenters
不具有Template
。您可以子類ItemsControl
to use a ContentControl
,然後使用ItemsControl.ItemContainerStyle
編輯這些容器的Template
。
<ItemsControl x:Name="lst">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border BorderThickness="10" CornerRadius="1" BorderBrush="Navy">
<TextBox Text="{Binding Name}"/>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
我希望這會有所幫助。
謝謝。我已經調查了一下'GetContainerForItemOverride',這個問題幫助了我。 http://stackoverflow.com/questions/3542381/specify-controltemplate-for-itemscontrol-itemcontainerstyle – 2012-08-05 17:03:15