Я пытаюсь динамически добавлять флажки в единую таблицу в wpf. Но похоже, что сетка не выделяет их достаточно места, и поэтому все они лежат друг над другом. Это, как я добавить их в код:Добавление checkBoxes в UniformGrid
foreach (string folder in subfolders)
{
PathCheckBox chk = new PathCheckBox();
chk.Content = new DirectoryInfo(folder).Name;
chk.FullPath = folder;
chk.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
chk.VerticalAlignment = System.Windows.VerticalAlignment.Stretch;
unfiformGridSubfolders.Children.Add(chk);
}
Это как моя XAML выглядит (я поместил UniformGrid в ScrollViewer)
<ScrollViewer Grid.Column="1" Grid.RowSpan="3">
<UniformGrid x:Name="unfiformGridSubfolders" Grid.Column="1" Grid.Row="0" Grid.RowSpan="3" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>
</ScrollViewer>
И вот как это выглядит в программе:
Я просто хочу, чтобы каждый CheckBox имеет достаточно места, так что содержимое может быть полностью прочитать.
Чего вы хотите достичь? Что делать, если одна папка занимает всю ширину? Вы хотите, чтобы все заняло всю ширину? UniformGrid, делает каждую ячейку однородной, то есть все ячейки ** идентичны ** размер. –
Тогда как я могу это сделать, чтобы каждая ячейка имела размер checkBox с самым большим контентом? –
Попробуйте WrapPanel. Или установите стиль для установки ширины всех флажков, но в итоге вы получите полосы прокрутки из-за переполнения, и это будет не очень приятное решение (см. Предыдущие комментарии) – Gigi