2009-05-05 52 views
7

cómo hacer que la columna invisible de wpf listview? (una forma es establecer la propiedad de ancho en lenth mínimo pero esa solución no es la adecuada) ¿alguien puede ayudarme?Ocultar la columna de wpf listview

+0

¿Podría publicar la definición de su lista de lista? – ChrisF

+0

¿Por qué necesita una columna invisible? Me parece que desea adjuntar datos adicionales a la fila. Si es así, puede colocar el objeto en la fila y usar DataTemplates para representar el texto. Entonces el objeto en sí es directamente accesible como el elemento de la lista. –

Respuesta

7

Hay una explicación bastante simple de una forma de hacerlo here.

encontrar y eliminar su columna:

var temp = myGridView.Columns[0]; 
myGridView.Columns.RemoveAt(0); 

Introducir la columna de nuevo en la vista:

myGridView.Columns.Add(temp); 
temp.Width = 0; 
temp.Width = Double.NaN; 

quitarlo de la colección de columnas cuando se desea ocultar y vuelva a insertar la columna cuando se quiero mostrarlo de nuevo

+0

Mi ListView no tiene una propiedad Columnas. Además, tu enlace está muerto. – marc40000

+0

La propiedad Columns está en GridView (la propiedad Ver de ListView). – mjcopple

1

Para ocultar el encabezado de un ListView, puede modificar la propiedad Visibilidad del ColumnHeaderContainer anulando el estilo localmente.

<ListView> 
<ListView.View> 
    <GridView> 
     <GridView.ColumnHeaderContainerStyle> 
      <Style> 
       <Setter Property="FrameworkElement.Visibility" Value="Collapsed"/> 
      </Style> 
     </GridView.ColumnHeaderContainerStyle> 
     <GridView.Columns> 
      ... 
     </GridView.Columns> 
    </GridView> 
</ListView.View> 

+5

¿Leyó la pregunta? OP realmente está preguntando cómo mostrar/ocultar una columna completa. –

0

Estoy esperando que esto ayude a alguien:

La mejor manera que he encontrado es hacer estas dos cosas:
1. Ajuste el ancho de la columna a 0 (esto también se puede hacer en el GridViewColumnHeader) - cámbielo en el código cuando desee mostrar la columna nuevamente.
2. Establezca la configuración de Visibilidad de GridViewColumnHeader en Oculto - establézcalo en el código si desea mostrar la columna nuevamente o incluso puede usar un enlace.

El segundo elemento anterior ayuda a que la columna no sea expansible por el usuario.