c# - WPF 将内容包装到最多 2 列中。平均分配

标签 c# wpf containers

我正在尝试将一个面板插入到我的 WPF 应用程序中,该面板将具有一些非常具体的行为:

1.) 均匀包裹内容。从左上角开始向下运行,然后移动到下一列。

Example1

2.) 允许我定义要换行的最大列数。就我而言,这个数字介于 1 到 3 之间。

3.) 允许我设置一个初始高度,但它也会增长以容纳额外的项目。 (只设置一个初始高度,因为没有它我的内容不会换行。如果我保持自动,无论它是否适合屏幕,它都会出现在一个列中)

Example2

在这一点上,我已经得出结论,我正在尝试做的事情将需要一个自定义面板,但我想在开始该过程(并学习如何做)之前确保我没有错过答案简单得多。

最佳答案

WrapPanel 可以设置为垂直环绕,但您无法控制列数。

UniformGrid 可以让您控制列数,但水平换行而不是垂直换行。

简而言之:您需要一个自定义面板。内置的不提供您想要的功能组合。

关于c# - WPF 将内容包装到最多 2 列中。平均分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28089148/

相关文章:

c# - 如何在 visual studio 2010 中提升 XAML 设计器?

c# - User.config 损坏

c# - 使用 IIS 7.0 和 Vs2003 在 64 位 Vista 上进行 .Net 1.1 C# 开发

c# - 使用 C# Windows 窗体应用程序中的登录详细信息获取登录用户的全名

c# - 将相同的属性提取到 WPF XAML 中的样式

docker - Docker,如何在Container的OS Ubuntu中添加文件夹

html - 容器不会包含一切

c++ - 实现自己的 begin() 和 end()

c# - 使用 XmlSerializer 自定义序列化

C# MySql 查询结果到组合框