How to draw a border around each element in ItemsControl?
-
24-06-2021 - |
Frage
I'm using an ItemsControl
and a ItemTemplateSelector
to draw display the UI of my items. But now, all my elements need to be inside in a Grid
(and one of its columns the element should be there).
At the beginning I supposed was right to have a ContentControl
nested in an ItemsControl
, and this ContentControl
should have the ItemTemplateSelector
, but I'm not sure if this is the best way to do it.
Lösung
Stuff like that should be in the Template
of the item container, for ItemsControls
that is a bit problematic as the containers are ContentPresenters
which have no Template
. You could subclass ItemsControl
to use a ContentControl
, then use the ItemsControl.ItemContainerStyle
to edit the Template
of those containers.
Andere Tipps
<ItemsControl x:Name="lst">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border BorderThickness="10" CornerRadius="1" BorderBrush="Navy">
<TextBox Text="{Binding Name}"/>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
I hope this will help.