2010-06-28 12 views
7

¿Cómo es que siempre que sobreescribo la plantilla predeterminada para un DataGridColumnHeader ya no puede cambiar el tamaño del usuario aunque CanUserResizeColumns está establecido en true para la cuadrícula de datos? ¿Hay algo que deba agregar a la plantilla para restaurar esta funcionalidad?La plantilla WPF Datagrid elimina la capacidad de cambiar el tamaño de las columnas

Aquí es mi plantilla xaml:

<Style x:Key="ColumnHeaderStyle" TargetType="{x:Type DataGridColumnHeader}"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="DataGridColumnHeader"> 
        <Border BorderThickness="1" Margin="-1,0,0,0" Background="#f9f9f9" BorderBrush="Gray"> 
         <Grid> 
          <TextBlock Margin="2" Text="{TemplateBinding Content}" VerticalAlignment="Center" 
           HorizontalAlignment="Left" TextWrapping="Wrap"/>       
         </Grid> 
        </Border>       
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
</Style> 

Respuesta

5

agregar el control Thumb a la plantilla. No ha publicado el código de marcado de plantilla, pero puede marcar this post para ver un ejemplo completo.

+0

Publiqué mi código de plantilla. Sin embargo, tengo curiosidad, ¿se puede hacer esto sin hacer ningún código? Utilizo esta plantilla en todo mi proyecto, por lo que tendría varias copias del mismo método. – wangburger

+1

+1, pero es solo otra prueba de cuán cojo, innecesariamente complejo y mal pensado a través de WPF. Tener que esforzarse tanto para volver a habilitar el redimensionamiento de los encabezados de columna. Nunca deja de sorprenderme. –

+1

No publique enlaces como respuestas. Por ejemplo, el segundo enlace no proporciona ninguna información sobre el uso de los pulgares o el redimensionamiento de los encabezados de las columnas. –

Cuestiones relacionadas