Как ListBox может заполнить свою родительскую ширину?

У меня есть ListBox, и мне нужно, чтобы он заполнил ширину родителя, но не нашел способа сделать это, ListBox всегда имеет ширину ListBox, а не 100%.

Вот мой код XAML:

<ListBox ItemsSource="{Binding anagSearchResults}" BorderThickness="0" Background="Gray"
     SelectedItem="{Binding selectCustomer}" 
     FontSize="14"    
     ScrollViewer.HorizontalScrollBarVisibility="Disabled">
     <ListBox.ItemContainerStyle>
           <Style TargetType="ListBoxItem">
               <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
           </Style>
     </ListBox.ItemContainerStyle>
     <ListBox.ItemTemplate>
         <DataTemplate>
               <Grid HorizontalAlignment="Stretch">
                   <Grid.ColumnDefinitions>
                       <ColumnDefinition Width="*"></ColumnDefinition>
                       <ColumnDefinition Width="*"></ColumnDefinition>
                       <ColumnDefinition Width="*"></ColumnDefinition>
                       <ColumnDefinition Width="*"></ColumnDefinition>
                    </Grid.ColumnDefinitions>
                    <TextBlock Grid.Column="0" Text="{Binding FirstName}"></TextBlock>
                    ....

Что я делаю неправильно?


person Cris    schedule 08.10.2012    source источник
comment
Возможно, это дублирующий вопрос. Я думаю, что ответ, который вы ищете в Как заставить ListBox ItemTemplate растягиваться по горизонтали на всю ширину ListBox?.   -  person Steve Konves    schedule 09.10.2012


Ответы (2)


Я бы проверил HorizontalAlignment родителей и убедился, что ни один из них не установлен влево, вправо или в центр.

person failedprogramming    schedule 29.11.2012
comment
Также это может быть связано с тем, что для одного из родительских свойств ширины установлено фиксированное значение. - person Mostafa Hadian; 05.06.2017

Я бы выбрал ListView GridView.
Тогда для ширины вам нужно использовать преобразователь.
Измените преобразователь в этом примере на родительскую ширину / 4

введите здесь описание ссылки

Смотрите проверенный ответ от меня

person paparazzo    schedule 08.10.2012