wpf width autosize

Cómo establecer el ancho al 100% en WPF



width autosize (2)

¿Hay alguna manera de decirle al componente en WPF que tome el 100% del espacio disponible?

Me gusta

width: 100%;

en CSS

Tengo este XAML, y no sé cómo forzar a Grid a tomar el ancho del 100%.

<ListBox Name="lstConnections"> <ListBox.ItemTemplate> <DataTemplate> <Grid Background="LightPink"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> </Grid.RowDefinitions> <TextBlock Grid.Row="0" Grid.Column="0" Text="{Binding Path=User}" Margin="4"></TextBlock> <TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding Path=Password}" Margin="4"></TextBlock> <TextBlock Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Text="{Binding Path=Host}" Margin="4"></TextBlock> </Grid> </DataTemplate> </ListBox.ItemTemplate> </ListBox>

El resultado se ve como

texto alternativo http://foto.darth.cz/pictures/wpf_width.jpg

Lo hice rosado así que es obvio cuánto espacio toma. Necesito hacer que la rejilla rosada tenga un ancho del 100%.


Es el contenedor de la Grid que se está imponiendo en su ancho. En este caso, eso es un ListBoxItem , que se alinea a la izquierda por defecto. Puede configurarlo para que se extienda de la siguiente manera:

<ListBox> <!-- other XAML omitted, you just need to add the following bit --> <ListBox.ItemContainerStyle> <Style TargetType="ListBoxItem"> <Setter Property="HorizontalAlignment" Value="Stretch"/> </Style> </ListBox.ItemContainerStyle> </ListBox>


Puede usar HorizontalContentAlignment="Stretch" siguiente manera:

<ListBox HorizontalContentAlignment="Stretch"/>