Как нарисовать границу вокруг каждого элемента в ItemsControl?
Я использую ItemsControl
и ItemTemplateSelector
рисовать отображать пользовательский интерфейс моих предметов. Но теперь все мои элементы должны быть внутри Grid
(и в одном из его столбцов элемент должен быть там).
В начале я предполагал, что правильно иметь ContentControl
вложенный в ItemsControl
, и это ContentControl
должен иметь ItemTemplateSelector
, но я не уверен, что это лучший способ сделать это.
2 ответа
Решение
Вещи, как это должно быть в Template
контейнера элемента, для ItemsControls
это немного проблематично, так как контейнеры ContentPresenters
которые не имеют Template
, Вы могли бы подкласс ItemsControl
использовать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>
Я надеюсь, это поможет.