Я пытаюсь изменить размер содержимого своего списка в соответствии с самим списком. Это делается в WPF.Изменение размера содержимого списка в соответствии с размерами списка
Любые идеи о том, как это возможно?
Я пытаюсь изменить размер содержимого своего списка в соответствии с самим списком. Это делается в WPF.Изменение размера содержимого списка в соответствии с размерами списка
Любые идеи о том, как это возможно?
Я предполагаю, что когда вы говорите «изменить размер», вы имеете в виду, что хотите растянуть предметы в обоих направлениях. Для того, чтобы ListBox по умолчанию и растягивать элементы по горизонтали все, что вам нужно:
<ListBox HorizontalContentAlignment="Stretch"/>
по умолчанию Левый так все ListBoxItems в конечном итоге сдвинут влево и размер индивидуально в зависимости от их содержания.
Вертикальное растяжение требует избавления от StackPanel, используемого для создания макета для предметов, потому что у него нет концепции изменения размера его детей в направлении ориентации. Самая простая вещь для использования - UniformGrid, но вы можете захотеть чего-то большего в зависимости от того, как вы хотите, чтобы элементы имели размер относительно друг друга. Вам также нужно будет сделать то же самое с настройкой VerticalContentAlignment (по умолчанию Center). Итак, вот один из них, который будет растягивать предметы в обе стороны:
<ListBox HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="1"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>