Как создать UniformGrid в XAML с автопрокрутки после превышения ограничения строк по элементам
Я хотел бы создать UniformGrid
который будет содержать WindowsFormsHosts
(внутри них WinForms
). 4 хоста в каждой строке (4 столбца), и после превышения их видимой емкости новые элементы будут добавлены внизу, и пользователь сможет прокручивать UniformGrid
, Я даже не знаю, с чего начать, кроме определения UniFormGrid и его номера столбца.
<UniformGrid x:Name="Grid" Columns="4">
</UniformGrid>
Поведение, которое я хотел бы получить, аналогично поведению в проводнике Windows, если в представлении слишком много значков, которые можно прокрутить вниз.
я использовал UniformGrid
потому что мне нужен был эквивалент GridLayout()
на Яве. Я хочу, чтобы каждый добавленный элемент был одинакового размера. Я добавляю элементы из.cs.
1 ответ
Я просто расширю это из комментариев, в зависимости от того, какой размер ваш WinForm
контроли, и в зависимости от желаемого поведения изменения размера, вы можете обойтись без простого обертывания WrapPanel
в ScrollViewer
Например:
<ScrollViewer>
<WrapPanel>
<Grid Width="100" Height="100" Background="Red"/>
<Grid Width="100" Height="100" Background="Blue"/>
<Grid Width="100" Height="100" Background="Yellow"/>
<Grid Width="100" Height="100" Background="Red"/>
<Grid Width="100" Height="100" Background="Blue"/>
<Grid Width="100" Height="100" Background="Yellow"/>
<Grid Width="100" Height="100" Background="Red"/>
<Grid Width="100" Height="100" Background="Blue"/>
<Grid Width="100" Height="100" Background="Yellow"/>
</WrapPanel>
</ScrollViewer>
Для большей гибкости этот ответ связан с проектом, который обеспечивает UniformWrapPanel
и стоит посмотреть.