我试图制作一个控件来显示自定义的复选框列表,例如图片:
我目前的实施方法使用 ItemsStrol VariableSizedWrapGrid 作为 ItemsPanelTemplate 。但它使所有项目的大小相同......我无法弄清楚如何按照HTML表格中的内容来设置单元格大小。
答案 0 :(得分:0)
不幸的是,默认情况下没有这样的面板。
如果您的商品数量是静态的(或至少列数是静态的),您可以使用Grid
作为ItemsPanelTemplate,并在{{1}中设置Grid.Row
和Grid.Column
转换器。
否则,您需要通过重写ArrangeChildren和MeasureOverride方法来实现自定义面板。我有我的自定义面板解决了这个问题。如果你找不到更好的东西,我可以和你分享
编辑:我认为您不希望所有单元格都具有相同的大小。在这种情况下,您可以使用UniformGrid。
我使用Grid +一些代码隐藏附加了示例代码。代码隐藏不会违反MVVM关注点,因为代码隐藏中存在纯粹的视图逻辑。
ItemContainerStyle