我想创建一个ItemsControl
,其子项目的放置方式与WrapPanel
类似,但子项目应占用尽可能多的空间。因此,当窗口大小变大或变小时,子项应根据特定的宽度:高度比进行拉伸。当从ItemsControl
的{{1}}添加或删除子项时,ItemsSource
应在项目之间放置换行符以保持子项目的宽度:高度比。
以下是我到目前为止的情况。是否可以在Xaml中执行此操作?或者我应该为此创建自定义控件?提前谢谢!
WrapPanel
答案 0 :(得分:14)
使用UniformGrid
而不是WrapPanel
。只需使用Columns
属性设置所需的列数,它就会为您提供所需的结果。
答案 1 :(得分:4)
作为另一种解决方案(有时宽度可能不同,因此Preston,55.8091,-2.3364
Reston,55.85201,-2.1973
Sinclair's Hill,55.74975,-2.29538
St Abbs,55.89951,-2.13229
不起作用),这里修改UniformGrid
,它会拉伸元素以适合线条(同时保持比例相同):
WrapPanel
行动中:
答案 2 :(得分:0)
您是否尝试过itemscontrol中的HorizontalContentAlignment =“Stretch”属性。
答案 3 :(得分:0)