Использование WrapPanel в ListBox в Silverlight - PullRequest
3 голосов
/ 03 марта 2011

У меня есть приложение Silverlight, у которого ListBox определенной ширины.Я динамически добавляю элементы в этот ListBox в своем коде.Если элементы требуют больше места, чем выделено, я бы хотел, чтобы элементы переносились на следующую строку И высота ListBox увеличивалась.В настоящее время в моем ListBox появляется горизонтальная полоса прокрутки.Кроме того, без упаковки, таким образом, не происходит выращивание.Что я делаю неправильно?Вот мой ListBox:

<ListBox x:Name="myListBox" Grid.Column="1" Width="600" MinHeight="24">
  <ListBox.ItemsPanel>
    <ItemsPanelTemplate>
      <controlsToolkit:WrapPanel />
    </ItemsPanelTemplate>
  </ListBox.ItemsPanel>
</ListBox>

Спасибо за вашу помощь!

1 Ответ

11 голосов
/ 03 марта 2011

Попробуйте установить для ScrollViewer.Hor HorizontalScrollBarVisibility значение «Отключено» в ListBox, чтобы предотвратить горизонтальную прокрутку и принудительное перенос.

<ListBox x:Name="myListBox" ScrollViewer.HorizontalScrollBarVisibility="Disabled" Grid.Column="1" Width="600" MinHeight="24">
    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <controlsToolkit:WrapPanel />
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>
</ListBox>
...