He pasado por un montón de código de ejemplo para esto y al final he decidido preguntar esto: Tengo una cuadrícula que tiene un botón con posición fija y otra cuadrícula dentro. La rejilla exterior no tiene un conjunto de ancho/alto. Debería cambiar según la resolución de la pantalla. Puse W/H de la ventana como:Obtener la fila central de la cuadrícula para llenar el espacio disponible
Width = 200;
Height = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Height - 5;
Dentro de la rejilla interna tengo a 3 filas, el superior es un botón (altura automático), el medio es una vista de lista cuya altura puede variar (y que tiene para llenar el espacio disponible) y la última fila consiste en un cuadro de texto que debe permanecer en la parte inferior, de la ventana siempre. El XAML para que esté por debajo:
<Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Click="Button_Click" Width="32" Height="32" FontSize="16" VerticalAlignment="Center"
HorizontalAlignment="Left" FontWeight="Bold" ToolTip="Click here to hide the Sidebar">></Button>
<Grid VerticalAlignment="Top" Background="Transparent" Grid.Row="1">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<!-- This is the settings bar-->
<RowDefinition Height="*" />
<!-- This will contain the listbox-->
<RowDefinition Height="Auto" />
<!-- This is to maintain vertical arrangement and future use-->
</Grid.RowDefinitions>
<Button Content="hello" Grid.Row="0" />
<ListView x:Name="lstView" Background="Transparent" Grid.Row="1"/>
<TextBox TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Height="50" Margin="2" BorderBrush="Black" Grid.Row="2" />`
pero yo sólo no puede obtener la fila del medio para llenar todo el espacio y en el cuadro de texto alineado en la parte inferior de la pantalla. ¿Alguien puede sugerir cómo alinear el cuadro de texto con la fila inferior y la fila del medio para llenar toda la altura restante y cómo puedo lograr esto sin establecer explícitamente las alturas mientras cambio los modos de visualización?
El 'RowDefinition's que tiene hará que la segunda fila ocupe todo el espacio restante * en esta' Grilla' *. Ahora necesita ver a su padre y asegurarse de que el padre esté dejando que esta 'Grilla' llene toda la ventana. Veo un 'Grid.Row' en tu' Grid', por lo que el padre probablemente sea otro 'Grid'; ¿Cómo se ve * its * 'RowDefinition'? –
no he agregado ninguna definición de cuadrícula en esa cuadrícula, solo la uso para agregar un botón fijo en el centro de la ventana ... no hay otro uso ... – Dannyboy