我想显示一个排行榜,每行都设置MaxHeight
作为容器空间的百分比。
我当前正在使用ItemsControl
来对行进行模板化并显示数据。
我知道您可以使用网格实现类似的功能,但是由于一个要求是我不知道在运行时之前排行榜中有多少个条目,因此无法在XAML中指定RowDefinitions
。
有没有一种简单的方法可以实现我要完成的任务?是否在运行时不使用C#更新RowDefinition?
答案 0 :(得分:1)
这是一种方法:将ItemsPanel设置为UniformGrid并调整Rows
或Columns
<ItemsControl ..... >
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Rows="4"/> <!--will be divided into 4 rows, so 25% each item-->
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
以上仅是示例。您可以将Columns
计数为1,然后将Rows
计数为与项目一样多,等等。