Как растянуть ListBoxItem на всю длину ListBox? WPF (Silverlight)
WPF, MVVM, Silverlight | создано: 02.11.2010 | опубликовано: 22.04.2014 | обновлено: 26.06.2024 | просмотров: 6628
В статье покажу как растянуть содержимое ListBoxItem на всю длину ListBox. Данный код работает и для Windows Presentation Foundation (WPF) и для Silverlight.
Наверное, у Вас тоже неоднократно возникало желание растянуть содержимое ListBoxItem на всю длину ListBox? Задача простая, но каждый раз (в силу того что сам компонент не очень простой, и у него очень много настроек), когда я пытал "по-быстрому" растянуть содержимое ListBoxItem на всю ширину попытки сводились к очередному поиску примера в интернете. Наверное, это потому, что с этим компонентом, я работаю не часто. Итак, как же это сделать?
Согласитесь, выглядит не очень эстетично. Так вот всё что нам потребуется, так это:
- Создать стиль в котором установить свойство HorizontalContentAlignment в Stretch.
- Установить этот стиль в нашем ListBox.
Наш стиль добавлен в Page.Resource:
<Style x:Key="StretchedContainerStyle" TargetType="{x:Type ListBoxItem}"> <Setter Property="HorizontalContentAlignment" Value="Stretch" /> </Style>
И теперь у ListBox применяем стиль:
<ListBox x:Name="listBox" ItemContainerStyle="{StaticResource StretchedContainerStyle}" />
Не то чтобы совсем идеально, но, согласитесь, уже гораздо лучше.