Может ли определения строк или столбцов автоматически изменять размеры их содержимого - PullRequest
1 голос
/ 11 февраля 2009

Так, например ... в следующем пользовательском элементе управления у меня есть сетка из двух строк. Я хочу, чтобы нижний ряд был высотой его содержимого, а верхний ряд - высотой остальной части сетки. Я могу установить абсолютную высоту, как в примере, но это не особенно гибко. Скажем, кто-то меняет шрифт, размер текста может обрезаться. Есть ли способ, позволяющий добиться этого?

<UserControl x:Class="Tournament.View.TeamCreator"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
    <Grid x:Name="LayoutRoot" Background="White" ShowGridLines="True">
        <Grid.RowDefinitions>
            <RowDefinition Height="1*" />
            <RowDefinition Height="20" />
        </Grid.RowDefinitions>

        <Grid Grid.Row="1" >
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="1*" />
                <ColumnDefinition Width="1*" />
                <ColumnDefinition Width="1*" />
                <ColumnDefinition Width="1*" />
                <ColumnDefinition Width="1*" />
            </Grid.ColumnDefinitions>

            <Grid.RowDefinitions>
                <RowDefinition Height="1*" />
            </Grid.RowDefinitions>

            <TextBlock Grid.Column="0" Grid.Row="0" Text="TEAM NAME" />
            <TextBox Grid.Column="1" Grid.Row="0" />
            <TextBlock Grid.Column="2" Grid.Row="0" Text="MANAGER NAME" />
            <TextBox Grid.Column="3" Grid.Row="0" />
            <Button Grid.Column="4" Grid.Row="0" />
        </Grid>
    </Grid>
</UserControl>

1 Ответ

2 голосов
/ 11 февраля 2009

В WPF это так же просто, как:

<Grid.RowDefinitions>
    <RowDefinition Height="1*" />
    <RowDefinition Height="Auto" />
</Grid.RowDefinitions>

Я подозреваю, что то же самое работает в Silverlight?

...