Как нарисовать границу вокруг каждого элемента в 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>

Я надеюсь, это поможет.

Другие вопросы по тегам