que han estado ocultando una fila en una cuadrícula de WPF estableciendo la propiedad Height
a 0.¿Cómo se oculta una fila en una grilla de WPF?
me esperaba algo parecido a una propiedad Visible
.
¿Hay alguna forma más adecuada de ocultar la fila?
que han estado ocultando una fila en una cuadrícula de WPF estableciendo la propiedad Height
a 0.¿Cómo se oculta una fila en una grilla de WPF?
me esperaba algo parecido a una propiedad Visible
.
¿Hay alguna forma más adecuada de ocultar la fila?
Puede establecer la visibilidad del contenido de la fila en "Colapsado". Esto solo funcionará si la propiedad Height de RowDefinition está establecida en "Auto", por lo que los tamaños de fila se basan en su contenido.
Por ejemplo,
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderThickness="1" BorderBrush="Red"><TextBlock>Visible Row</TextBlock></Border>
<Border Grid.Row="1" BorderThickness="1" BorderBrush="Black" Visibility="Collapsed"><TextBlock>Hidden Row</TextBlock></Border>
<Border Grid.Row="2" BorderThickness="1" BorderBrush="Red"><TextBlock>Visible Row</TextBlock></Border>
</Grid>
realidad, yo sólo hice la misma pregunta hace un par de días, echar un vistazo aquí:
establecer Básicamente, el RowHeight en Auto y Ajuste la visibilidad = "colapsado" ocultará la fila por usted. El único problema que tuve fueron los márgenes, pero eso fue menor. Al menos la fila se escondió.
Buen punto sobre los márgenes, gracias. –
a hacer esto:
XAML:
<Grid.RowDefinitions>
<RowDefinition Height="1*" x:Name="name1" />
<RowDefinition Height="Auto" x:Name="name2" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
C# para el colapso:
name1.Height = new GridLength(0);
name2.Height = new GridLength(0);
C# para la visibilidad:
name1.Height = new GridLength(1, GridUnitType.Star);
name2.Height = GridLength.Auto;
Exactamente lo que estaba buscando. Gracias. –
¿Cómo harías si tienes varias columnas? No es muy práctico ocultar cada elemento ... –
Clemente- Envuelva cada elemento de la fila en un contenedor como otra cuadrícula, y simplemente muestre/oculte/contraiga la visibilidad del contenedor. – Kurren