2011-06-20 6 views
17

que tiene este escenario donde quiero compartir el tamaño de la columna entre todos los ListViewItems, y estoy usando SharedSizeGroup en las definiciones de columna pero no funciona:SharedSizeGroup en ListView.ItemTemplate

<ListView ItemsSource="{Binding}"> 
    <ListView.ItemTemplate> 
     <DataTemplate> 
      <Grid> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="Auto" SharedSizeGroup="A" /> 
        <ColumnDefinition Width="Auto" SharedSizeGroup="B" /> 
        <ColumnDefinition Width="Auto" SharedSizeGroup="C" /> 
       </Grid.ColumnDefinitions> 
       <TextBlock Grid.Column="0" Margin="10,0" Text="{Binding Text1}" /> 
       <TextBlock Grid.Column="1" Margin="10,0" Text="{Binding Text2}" /> 
       <TextBlock Grid.Column="2" Margin="10,0" Text="{Binding Text3}" /> 
      </Grid> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 

I Sabemos que una posible solución es usar un GridView como ListView.View, pero hay algunos problemas de diseño que nos impiden hacer esto. ¿Hay alguna otra forma en que pueda lograr compartir el ancho de las columnas?

Esto es lo que quiero lograr (las columnas con los mismos colores deben compartir ancho):

enter image description here

Gracias de antemano.

Respuesta

29

Lo único que falta es el alcance, creo, agregue Grid.IsSharedSizeScope="True" a los atributos ListView.

+0

¡Agradable! ¡Muchas gracias, funcionó de inmediato! = D – Carlo

+0

Tengo que esperar 10 minutos para establecer su respuesta como aceptada. Lo hará lo antes posible. – Carlo

+0

No se preocupe, me alegro de que funcionó :) –

Cuestiones relacionadas