Как установить ширину до 100% в WPF



есть ли способ как сказать компонент в WPF чтобы занять 100% свободного места?



Как



width: 100%;  


в CSS



у меня есть этот XAML, и я не знаю, как заставить сетку принимать 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>


результат выглядит так:



alt текст http://foto.darth.cz/pictures/wpf_width.jpg



Я сделал его розовым, так что очевидно, сколько места это займет. Мне нужно сделать розовый сетка 100% ширины.

707   2  

2 ответов:

- это контейнер Grid что накладывается на его ширину. В данном случае, это ListBoxItem, который по умолчанию выравнивается по левому краю. Вы можете настроить его на растяжку следующим образом:

<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>

вы могли бы использовать HorizontalContentAlignment="Stretch" следующим образом:

<ListBox HorizontalContentAlignment="Stretch"/>

Comments

    Ничего не найдено.