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.
Pude hacer algo similar con las instrucciones en esta publicación
http://blogs.msdn.com/b/atc_avalon_team/archive/2006/04/11/573037.aspx
No pude usar una solución XAML completa, ya que estaba creando todo en mi código debido a la dinámica de la misma. Funcionó muy bien en el primer intento.
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