template wpf gridview listview

template - wpf listview grouping



Evite que el usuario cambie el tamaƱo de las columnas con WPF ListView (4)

¿Cómo puedo evitar que un usuario cambie el tamaño de GridViewColumns con un control ListView?


La respuesta de Darkonekt es buena, sin embargo, puede ser preferible establecer IsHitTestVisible en falso en lugar de IsEnabled . Esto tiene la ventaja de no encadenar los encabezados.

<GridView.ColumnHeaderContainerStyle> <Style BasedOn="{StaticResource {x:Type GridViewColumnHeader}}" TargetType="{x:Type GridViewColumnHeader}"> <Setter Property="IsHitTestVisible" Value="False"/> </Style> </GridView.ColumnHeaderContainerStyle>


Para aquellos que buscan una respuesta más rápida y simple.

Establezca IsEnabled en False en ColumnHeaderContainerStyle. Esto evitará que el usuario cambie el tamaño.

Me gusta esto:

<GridView.ColumnHeaderContainerStyle> <Style TargetType="{x:Type GridViewColumnHeader}"> <Setter Property="IsEnabled" Value="False"/> </Style> </GridView.ColumnHeaderContainerStyle>

Si desea corregir el color deshabilitado en gris, agregue un desencadenador en la propiedad IsEnabled y solucione lo que necesita.

<GridView.ColumnHeaderContainerStyle> <Style TargetType="{x:Type GridViewColumnHeader}"> <Setter Property="IsEnabled" Value="False"/> <Style.Triggers> <Trigger Property="IsEnabled" Value="False"> <Setter Property="TextElement.Foreground" Value="Black"/> </Trigger> </Style.Triggers> </Style> </GridView.ColumnHeaderContainerStyle>

Esta respuesta puede no ser tan elegante como otras publicadas; pero en mi caso todo lo que necesitaba era una forma rápida de hacerlo.

Espero que esto ayude a alguien.



encontré una solución y probablemente ayudará a alguien más algún día;)

debe sobrescribir la plantilla ControlTemplate de GridViewColumnHeader (la plantilla predeterminada está here ) y eliminar el PART_HeaderGripper de la plantilla para evitar el cambio de tamaño de sus columnas.

hay otra solución que surge con la subclasificación de GridViewColumn descrita here . para fines de representación, prefiero xaml solo soluciones, aunque