WPF: программное добавление ListViewItems, которые расширяются до полной ширины содержащего их ListView. - PullRequest
1 голос
/ 26 апреля 2011

Я определил пользовательский элемент управления ListViewItem в XAML, который мы назовем Item.xaml. Эти пользовательские элементы добавляются в представление списка с помощью ListView.Items.Add ().

Как я могу добавить эти элементы, чтобы они расширялись по горизонтали и занимали всю ширину содержащегося в них ListView? В настоящее время они всегда сохраняют свою первоначальную ширину.

Ответы [ 2 ]

4 голосов
/ 05 мая 2011

Ответ ChrisWue, похоже, сработал, но потом я заметил, что если у меня достаточно ListViewItems для горизонтальной прокрутки списка, то элементы, которые были невидимы до прокрутки вниз, не растягивались по горизонтали.

Я обнаружил этот поток MSDN , который дает правильный подход:

<ListView Name="ListView" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
  <!-- Stretch the contents to match the columns' width: -->
  <ListView.ItemContainerStyle>
    <Style TargetType="ListViewItem">
      <Setter Property="HorizontalContentAlignment" Value="Stretch" />
    </Style>
  </ListView.ItemContainerStyle>
  ...
2 голосов
/ 26 апреля 2011

ListView имеет HorizontalContentAlignment, который необходимо установить на Stretch:

<ListView HorizontalContentAlignment="Stretch" ... >
...