WPF создает список элементов, которые прокручиваются по вертикали, а затем по горизонтали.

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

Вроде как Windows Explorer выглядят и чувствуют.

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

Любая помощь здесь с благодарностью

Ура, Марк

2 ответа

Решение

Приложите WrapPanel с вертикальной ориентацией в пределах ScrollViewer с VerticalScrollbarVisibility установлен в Disabled,

Вставьте это в Kaxaml, и вы увидите:

<Page
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Page.Resources>
    <Style TargetType="{x:Type Button}">
      <Style.Setters>
        <Setter Property="Width" Value="50"/>
        <Setter Property="Height" Value="50"/>
      </Style.Setters>
    </Style>
  </Page.Resources>
  <Grid Margin="200, 100">
    <ScrollViewer VerticalScrollBarVisibility="Disabled" HorizontalScrollBarVisibility="Visible" MaxWidth="200">
    <WrapPanel Orientation="Vertical">
      <Button/>
      <Button/>
      <Button/>
      <Button/>
      <Button/>
      <Button/>
      <Button/>
      <Button/>
      <Button/>
    </WrapPanel>
    </ScrollViewer>
  </Grid>
</Page>

Звучит очень похоже на UniformGrid или WrapPanel для меня, проверьте этот блог, у него есть несколько хороших демонстраций встроенных панелей макета

Другие вопросы по тегам