2013-05-22 2 views
1

У меня есть список (ListBox) элементов в XAML, используя шаблон элемента на основе StackPanel. Макет отлично, но теперь я хотел бы иметь прямоугольник в качестве фона для каждого элемента - создание окна вокруг каждого.xaml/C# stackpanel с фоном прямоугольника

Я думал о том, чтобы использовать холст каким-то образом, но по мере изменения высоты каждого элемента (а также высоты элементов внутри StackPanel) я не уверен, как это сделать (я новичок в C# XAML). Какова была бы лучшая композиция для шаблона в этой ситуации?

ответ

3

Вы можете просто указать его в ItemTemplate, и он будет делать то, что вы хотите, что-то типа;

<ListBox.ItemTemplate> 
    <DataTemplate> 

    <Grid> 
     <Border BorderBrush="Red" BorderThickness="2" Background="Blue"/> 
     <!-- Insert the rest of your Item template stuff here --> 
    </Grid> 

    </DataTemplate> 
</ListBox.ItemTemplate> 
+2

это будет работать, если вы поставите 'Border' и' StackPanel' в 'Grid' – dkozl

+0

Touché @dkozl +1 вот что я получаю за ответы супер быстро и забыть правила на один содержание. Обновление сейчас ... –

+0

Спасибо, это именно то, что я искал! – jookos

0

ListBox - это тип ItemsControl, который предоставляет несколько свойств для управления внешним видом элементов. В этом случае взгляните на ItemContainerStyle (в случае ListBox контейнеры элементов являются экземплярами ListBoxItem). Например, вы можете установить свойство Background в ItemContainerStyle для некоторого цвета.

 Смежные вопросы

  • Нет связанных вопросов^_^