【发布时间】:2013-12-20 14:38:06
【问题描述】:
谁能告诉我如何在 wpf 项目中实现网格视图界面。我正在尝试创建一个 sqaure 平铺界面,我想将其与 List 数据结构绑定,这样它将填充并创建与 List 计数相同数量的平铺。下面给出的图像可能会帮助您了解接口的类型。我知道这可能是一个愚蠢的问题,但我被困住了。提前感谢您的帮助。
【问题讨论】:
谁能告诉我如何在 wpf 项目中实现网格视图界面。我正在尝试创建一个 sqaure 平铺界面,我想将其与 List 数据结构绑定,这样它将填充并创建与 List 计数相同数量的平铺。下面给出的图像可能会帮助您了解接口的类型。我知道这可能是一个愚蠢的问题,但我被困住了。提前感谢您的帮助。
【问题讨论】:
在这种情况下,请使用ItemsControl class。对于ItemsPanel,您可以使用WrapPanel,这将产生“填满线条”的效果,一旦水平空间用完就会换行。
然后,为了创建类似网格的外观(即不仅是行,还有可见的列),请确保每个项目都以相同的大小显示 - 这是您应该能够在您的ItemsControl 中的ItemTemplate,例如使用以下方法之一:
Width 和 Height 属性分配固定值。【讨论】:
ItemsControl 示例,所以写了我自己的 here。这应该会向您显示您需要的 XAML,并且只需向您的 ItemTemplate 添加一个点击事件来处理点击项目
ICommand interface 构建的命令模式,这是一种为这些按钮提供一些交互逻辑的简洁方式。
UniformGrid 似乎是另一个适合 OP 的项目面板类。