【问题标题】:How to create tile interface in wpf projectwpf项目中如何创建tile界面
【发布时间】:2013-12-20 14:38:06
【问题描述】:

谁能告诉我如何在 wpf 项目中实现网格视图界面。我正在尝试创建一个 sqaure 平铺界面,我想将其与 List 数据结构绑定,这样它将填充并创建与 List 计数相同数量的平铺。下面给出的图像可能会帮助您了解接口的类型。我知道这可能是一个愚蠢的问题,但我被困住了。提前感谢您的帮助。

【问题讨论】:

    标签: c# wpf gridview


    【解决方案1】:

    在这种情况下,请使用ItemsControl class。对于ItemsPanel,您可以使用WrapPanel,这将产生“填满线条”的效果,一旦水平空间用完就会换行。

    然后,为了创建类似网格的外观(即不仅是行,还有可见的列),请确保每个项目都以相同的大小显示 - 这是您应该能够在您的ItemsControl 中的ItemTemplate,例如使用以下方法之一:

    • 您可以手动为项目视图(即项目模板的根元素)的 WidthHeight 属性分配固定值。
    • 您可以在项目模板中使用网格,并通过对列和行定义使用共享大小组来确保大小相等。

    【讨论】:

    • 您能指导我完成教程或其他内容吗?或者您可以提供一些教程链接。
    • @MurtazaMunshi:特别针对哪些方面的教程?也就是说,我不知道任何特定的教程。我对 WPF 的大部分了解都是直接从有更多经验的人那里学到的。
    • @O.R.Mapper 我从不喜欢 MSDN 的 ItemsControl 示例,所以写了我自己的 here。这应该会向您显示您需要的 XAML,并且只需向您的 ItemTemplate 添加一个点击事件来处理点击项目
    • @MurtazaMunshi:当然,关键是您定义的项目模板 - 它们可以包含您喜欢的任何 UI 元素,不仅用于显示信息,还可以包含交互元素,例如可以调出其他视图的按钮.查看围绕ICommand interface 构建的命令模式,这是一种为这些按钮提供一些交互逻辑的简洁方式。
    • @Rachel:浏览您的示例,UniformGrid 似乎是另一个适合 OP 的项目面板类。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-27
    • 2023-03-25
    • 1970-01-01
    相关资源
    最近更新 更多