2011-06-23 29 views
5

Lo que trato de hacer es hacer que una Grilla dentro de la ItemTemplate se expanda al ancho de ListViewItem y no solo al espacio que necesita. Así es como yo NO quiero que se vea como:Hacer el ancho de una grilla en ListView.ItemTemplate el mismo ancho que el ListViewItem

enter image description here

Básicamente quiero la cuadrícula de color rojo que es el ancho del rectángulo azul (que es el elemento seleccionado). Este es mi XAML:

<ListView ItemsSource="{Binding}"> 
    <ListView.ItemTemplate> 
     <DataTemplate> 
      <Grid Background="Red"> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="*" /> 
        <ColumnDefinition Width="*" /> 
       </Grid.ColumnDefinitions> 
       <TextBlock Grid.Column="0" Text="{Binding FirstName}" /> 
       <TextBlock Grid.Column="1" Text="{Binding LastName}" /> 
      </Grid> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 

¡Gracias de antemano!

+6

** N.B:. ** apellidos de Kirk Hammett de Dave Gilmour y están mal escritas. Me sorprende que este código incluso compila. ;) –

Respuesta

22

Haz lo siguiente:

<ListView ItemsSource="{Binding}"> 
    <ListView.ItemContainerStyle> 
    <Style TargetType="ListViewItem"> 
     <Setter Property="HorizontalContentAlignment" Value="Stretch" /> 
    </Style> 
    </ListView.ItemContainerStyle> 

    .. 
+0

¡Agradable! Este es un pequeño truco realmente bueno, funciona como un encanto. ¡Gracias hombre! – Carlo

+0

Tengo que esperar 10 minutos para aceptar como respuesta, lo mantendré atento. ¡Gracias! – Carlo

+0

¡Impresionante! Gracias por esto. Me salvó el día :) –

Cuestiones relacionadas