Comment faire pour ajouter une bordure à un élément dans un ItemsControl?
Je suis en train de mettre une bordure à chaque élément de l'un des éléments de contrôle. Voici mon code XAML. Mais cela ne fonctionne pas.
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Control.BorderThickness" Value="5" />
<Setter Property="Control.BorderBrush" Value="Black" />
</Style>
</ItemsControl.ItemContainerStyle>
Vous devez vous connecter pour publier un commentaire.
Le conteneur dans un
ItemsControl
est unContentPresenter
qui est pas un contrôle, ce style ne va pas faire n'importe quoi. Vous pouvez créer uneItemsTemplate
contenant unBorder
.Alternativement, vous pouvez modifier la
ContentTemplate
dans leItemContainerStyle
:(Note: Ceci est une véritable alternative dans le sens que il fait la même chose exacte, donc je voudrais utiliser le
ItemTemplate
comme il l'est beaucoup moins verbeux, vous permet d'économiser trois balises (Style
,Setter
,Setter.Value
))ItemsControl.ItemsTemplate
définit laContentTemplate
de chaque élément conteneur. Cela signifie que si vous faites les deux, leItemTemplate
remplacera complètement leItemContainerStyle
'sContentTemplate
valeur.Voir les remarques sur
BorderThickness
et[BorderBrush][1]
:Si vous avez réellement besoin d'un tel contrôle, par exemple La frontière dans lequel vous envelopper tout ce dont vous avez besoin.