【发布时间】:2015-08-13 23:27:54
【问题描述】:
我正在尝试将复选框动态添加到 wpf 中的 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 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,使每个单元格统一,这意味着所有单元格都是相同大小。
-
那我该怎么做呢,每个单元格都有最大内容的复选框的大小?
-
试试 WrapPanel。或者设置一个样式来设置所有复选框的宽度,但是由于溢出,你最终会出现滚动条,这不是一个很好的解决方案(参见以前的 cmets)
标签: c# wpf checkbox uniformgrid