2012-10-08 104 views
1

我有一個ListBox,需要它填充父寬度,但還沒有找到辦法做到這一點,ListBox始終是ListBox寬度,而不是100%。ListBox如何填充其父寬度?

這裏是我的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> 
        .... 

我在做什麼錯?

+0

這可能是一個重複的問題。我想你正在尋找的答案[如何獲得ListBox ItemTemplate水平拉伸ListBox的全部寬度?](http://stackoverflow.com/questions/838828/how-to-get-a-listbox- ItemTemplate中對拉伸水平的全寬度的最)。 –

回答

-1

我會用ListView GridView去。
然後對於寬度,你需要使用一個轉換器。
更改此示例中的轉換器是父寬/ 4

enter link description here

從我看到了覈對答案

+0

完成投票注意解釋? – Paparazzi

2

我會檢查父(S)的的Horizo​​ntalAlignment並確保他們沒有被設置爲左側,右側或中心。

+0

也可能是因爲父母的寬度屬性之一已被設置爲固定值。 –