Выровнять дочерние элементы GridView по верху ячейки в UWP XAML - PullRequest
0 голосов
/ 13 апреля 2020

Я использую GridView для отображения сетки элементов переменной высоты, за исключением того, что каждая ячейка выровнена по центру строки.

enter image description here

Моя разметка

<GridView ItemsSource="{x:Bind Bounties}" SelectionMode="None" HorizontalAlignment="Left"
          VerticalAlignment="Top" >
  <GridView.ItemTemplate>
    <DataTemplate x:DataType="local:Bounty">
      <Grid>
        <TextBlock Margin="12" MaxWidth="350" HorizontalAlignment="Left"
                   Text="{x:Bind ItemDefinition.DisplayProperties.Description}"
                   Style="{ThemeResource BodyTextBlockStyle}" TextWrapping="WrapWholeWords" />
      </Grid>
    </DataTemplate>
  </GridView.ItemTemplate>
</GridView>

Как заставить каждую ячейку выравниваться по левому верхнему углу ее строки?

1 Ответ

1 голос
/ 14 апреля 2020

Внутреннее содержимое GridViewItem расположено по центру, это стиль по умолчанию, если вы хотите изменить его, попробуйте следующее:

<GridView ...>
    <GridView.ItemContainerStyle>
        <Style TargetType="GridViewItem">
            <Setter Property="VerticalContentAlignment" Value="Top" />
        </Style>
    </GridView.ItemContainerStyle>
    <GridView.ItemTemplate>
        ...
    </GridView.ItemTemplate>
</GridView>

Кроме того, если вы хотите сделать элементы в адаптивной высоте GridView (по умолчанию это высота первого элемента или заданная высота как высота всех элементов), вы можете попробовать StaggeredPanel в Windows Community Toolkit.

Спасибо.

...