Silverlight: устанавливает ширину элементов в ItemsControl для растягивания

У меня есть элемент ItemsControl, который заполняется сверху вниз, но я не могу заставить его дочерние элементы занимать всю ширину элемента ItemsControl:

Мне в основном нужно растянуть зеленые биты, чтобы заполнить ширину элемента управления (как показано синими битами).

Я пробовал такие вещи, как установка свойства HorizontalAlignment элемента шаблона на Stretch, и я даже попытался привязать его свойство Width к ширине ItemsControl, но не работал.

Должен быть прямой, но это то, что я просто не могу понять...

Изменить: здесь ItemTemplate (все это элемент ItemTemplate, который сам содержит элемент ItemsControl, привязанный к списку дочерних объектов):

<datatemplate>
 <border cornerradius="5" background="#ddd">
 <stackpanel>
 <textblock text="{Binding Name}" fontsize="18" foreground="#bbb">
 <itemscontrol itemssource="{Binding PlugIns}">
 <itemscontrol.itemspanel>
 <itemspaneltemplate>
 <toolkit:wrappanel horizontalalignment="Stretch">
 </toolkit:wrappanel></itemspaneltemplate>
 </itemscontrol.itemspanel>
 <itemscontrol.itemtemplate>
 <datatemplate>
 <stackpanel margin="10,0,10,10" tag="{Binding}" mouseenter="StackPanel_MouseEnter">
 <border child="{Binding Icon}">
 <textblock text="{Binding Name}">
 </textblock></border></stackpanel>
 </datatemplate>
 </itemscontrol.itemtemplate>
 </itemscontrol>
 </textblock></stackpanel>
 </border>
</datatemplate>
2 ответа

ОК, так как я продолжал создавать приложение, я понял, как это решить. По сути, когда я изменил шаблон ItemsControl для поддержки прокрутки, элементы, предназначенные для заполнения горизонтально:)

<itemscontrol>
 <itemscontrol.template>
 <controltemplate>
 <scrollviewer padding="{TemplateBinding Padding}">
 <itemspresenter>
 </itemspresenter></scrollviewer>
 </controltemplate>
 </itemscontrol.template>
 ...
</itemscontrol>


Вам нужно настроить ListBoxItem HorizontalContentAlignment, вы делаете это с помощью объекта Style в ListBox ItemContainerStyle следующим образом: -

<listbox ....="">
 <listbox.itemcontainerstyle>
 
 </listbox.itemcontainerstyle>
</listbox>

licensed under cc by-sa 3.0 with attribution.