Почему моя сетка не занимает всю ширину - PullRequest
0 голосов
/ 18 мая 2018

У меня есть сетка, которая содержит шесть строк (каждая строка является макетом стека).

Внутри моей пятой строки (то есть макета 5-го стека) у меня есть сетка. Я дал 100% ширины для этогосетка, но эта сетка не занимает 100% ширины.

Как мне решить эту проблему?

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="*"></RowDefinition>
    </Grid.RowDefinitions>
    <StackPanel Grid.Row="0" Orientation="Vertical">
    </StackPanel>
    <StackPanel Grid.Row="1" Orientation="Vertical">
    </StackPanel>
    <StackPanel Grid.Row="2" Orientation="Vertical">
        <Grid Width="100%">
        </Grid>
    </StackPanel>
    <StackPanel Grid.Row="3" Orientation="Vertical">
    </StackPanel>
</Grid>

Ответы [ 3 ]

0 голосов
/ 18 мая 2018

Я не видел проценты, используемые в UWP раньше, и даже думаю, что это недопустимый синтаксис.Я думаю, что вы должны использовать HorizontalAlignment="Stretch" вместо того, чтобы растянуть Grid на полную ширину.

0 голосов
/ 22 мая 2018

@ Martin Zikmund и @Durai Amuthan. Все предложения были правильными.Макет Width=100% в XWL UWP не поддерживает.

Если вы хотите, чтобы сетка имела ту же ширину, что и StackPanel, и автоматически изменяла размер при изменении размера окна, вы также можете удалить Width напрямую.как следующее:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="*"></RowDefinition>
    </Grid.RowDefinitions>
    <StackPanel Grid.Row="0" Orientation="Vertical">
    </StackPanel>
    <StackPanel Grid.Row="1" Orientation="Vertical">
    </StackPanel>
    <StackPanel Grid.Row="2" Orientation="Vertical">
        <Grid Background="Red">
            <TextBlock Text="abc"></TextBlock>
        </Grid>
    </StackPanel>
    <StackPanel Grid.Row="3" Orientation="Vertical">
    </StackPanel>
</Grid>
0 голосов
/ 18 мая 2018

Я думаю, вы можете попробовать удалить панель стека и использовать Grid.Row в Grid, и это решит проблему.

...