在 WPF TreeView 中对子对象进行分组

2024-02-09

我试图让我的树视图根据相似项目的内容对它们进行分组。为了保持通用,我的对象层次结构可能如下所示:

  • Objects
    • Object Group #1
      • 项目 #1(类型“A”)
      • 项目 #2(类型“A”)
      • 项目 #3(类型“B”)
      • 项目#4(类型“B”)

现在,我的 TreeView 显示这些对象与对象模型完全相同,但我想要做的是为每个对象类型插入一个 TreeView 节点,以便它看起来像这样:

  • Objects
    • Object Group #1
      • Type A
        • 项目#1
        • 项目#2
      • Type B
        • 项目#3
        • 项目#4

我在这里看到一个类似的问题,有人建议有两个单独的HierarchicalDataTemplates所以我为“对象组#1”级别创建了一个,其中包含一个带有类型列表的 TreeView,但这确实很笨拙,因为它是某些节点内部的一个完全独立的 TreeView。我也一直在尝试使用CollectionViewSource过滤掉每个类别中的项目,但这对我没有多大好处,因为我不知道如何显示它们。

我想我的问题可以归结为:我如何制作一个HierarchicalDataTemplate组的是孩子吗?如果有人能指出我正确的方向,我将非常感激。

如果有人想看,我可以发布一些代码,但我真的只是想弄清楚如何做我想做的事情,所以我的代码现在只是一个非常直接的数据绑定树视图。


看一眼this http://www.codeproject.com/Articles/36451/Organizing-Heterogeneous-Data-on-a-WPF-TreeView.aspx须弥先生的文章。我相信它会对你有所帮助。

文章要点:

我对这个问题的解决方案需要以下要素:

  • 多重绑定允许您组合不同的绑定。
  • 帮助我们组织不同绑定集合的转换器 必要时放入子文件夹中。
  • 当然还有:提供绑定数据的可视化表示的数据模板。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 WPF TreeView 中对子对象进行分组 的相关文章

随机推荐

  • Angular ui 引导程序未加载

    我从示例页面获取所有内容 基本上没有什么不同 控制器和 html 正文是从手风琴示例中纯粹复制粘贴的https angular ui github io bootstrap https angular ui github io bootst
  • 如何更改加载浏览器外 Silverlight 3 应用程序的背景颜色?

    在浏览器外运行 Silverlight 3 应用程序时 启动需要一点时间 但时间足够长 足以引起人们的注意 在此启动期间 托管应用程序的窗口的背景显示丑陋的白色背景颜色 在浏览器中运行时 我们有一个启动屏幕 但它当然是通过 JavaScri
  • 查找 bash 中第一列中每个不同值的第 n 列中的最大值

    我有一个 3 列文件 我想找到第三列的最大值 其中行与第一列相同 并且输出中还有第二列 Input 1 234 0 005 1 235 0 060 1 236 0 001 2 234 0 010 2 235 0 003 2 236 0 00
  • 在同一场景中加载新的 fxml

    我有 2 个 fxml 文件 布局 标题 菜单栏和内容 Anchorpane 它应该放置在其他 fxml 文件的内容中 我想知道如何从 Master 场景加载内容空间内的第二个文件 在 javaFX 中工作是一件好事还是加载新场景更好 我正
  • 如何显示视频路径中的视频缩略图?

    我想在 ImageView 中显示存储上视频路径的视频缩略图 是否有一个函数可以获取视频路径并返回缩略图的位图 我通过以下代码获取视频路径 public ArrayList
  • F# 可变列表为空

    当我尝试运行下面的代码时 属性为空 这是为什么 我为属性分配了一个空列表 但第一次通过循环时 它为空 这会导致它删除我附加到它的第一个值 我也不明白这一点 似乎与 null 连接的值应该是该值的列表
  • Grep正则表达式查找可变长度字符串中的数字

    我需要某种方法来查找包含字符和数字的任意组合的单词 但是仅恰好 4 位数字 以及至少一个字符 EXAMPLE a1a1a1a1 Match 1234 NO match no characters a1a1a1a1a1 NO match ab
  • 将自定义包添加到 Azure 机器学习工作室

    我需要使用 azure 机器学习工作室上的函数 tsCV 来评估预测模型 但出现错误 could not find function tsCV 我正在尝试更新预测包 但未加载任何包 我按照这个教程http blog revolutionan
  • 简单的伪随机算法

    我需要一个伪随机生成器 它将一个数字作为输入并返回另一个数字 该数字是可再现的并且似乎是随机的 每个输入数字应与一个输出数字完全匹配 反之亦然 相同的输入数字总是导致相同的输出数字 靠近的连续输入数字 例如 1 和 2 应该产生完全不同的输
  • 为 i18n 设计属性?

    如何翻译 Devise 模型的属性 例如 session email or session remember me 两个层次结构 de devise sessions email E Mail and de activerecord att
  • Java中的“自动递增”字母表?

    Java 中的 自动增量 字母表 这可能吗 从头到尾没有第三方库 是的 你可以这样做 for char alphabet A alphabet lt Z alphabet System out println alphabet 也可以通过类
  • 在同一查询中混合 HQL 和 SQL

    我正在尝试在同一个查询中混合 HQL 和 SQl 喜欢使用 来自 Object 对象 TABLE B tbl 其中 obj simeProp tbl COLUMN 因为我的客户需要修改查询 学习 HQL 或映射未映射的表是不可能的 如果不是
  • SQL,缺少结尾,但为什么呢?

    我对 mySQL 过程有疑问 MySQL Workbench 建议我它错过了我的第一个 SET 的 结束 但没有错过第二个 SET 的 结束 我不知道为什么 DELIMITER drop procedure if exists pay10p
  • 使用 zxing 解码时返回图像中的条形码位置

    在我当前的项目中 我需要知道如何使用 zxing 获取图像中条形码的位置 以像素或像素范围为单位 我的图像源是 Kinect v2 主要目的是将条形码与车身框架关联起来 这需要位置信息 我使用的是标准 Kinect v2 SDK 和 Vis
  • 使用 VS Android 模拟器运行调试时 Xamarin Forms Android 应用程序崩溃

    我创建了一个基本的 Xamarin Forms 应用程序 它在 iOS 模拟器上运行良好 然而 当我尝试使用 VS Android 模拟器 5 1in Marshmallow 运行时 它每次打开时都会崩溃 即使我尝试在没有调试的情况下运行
  • 使用 Java2D 绘制多个圆

    我正在尝试使用Java2D 进行一些简单的图形编程 我开始很简单 只是尝试在 JFrame 中显示几个圆圈 我成功显示了一个圆圈 但是当添加第二个圆圈时 仅显示添加到 JFrame 的最后一个圆圈 我使用 Circle 类来定义我的圆并重写
  • 为什么 Django 站点不能嵌入另一个 HTML(iframe)中?

    我尝试在另一个 html 页面中嵌入 django 表单 但它不起作用 我尝试了其他 django 网站 但没有任何效果 还对其他一些网站进行了测试 django 是否限制在 iframe 中使用 如何让它发挥作用 需要嵌入的表格编程竞赛形
  • 如何为 AngularStrap datetimepicker 显示“无效日期”验证消息

    我能够验证我的 AngularStrap 日期时间选择器 但我无法区分所需的验证失败和无效的日期失败 屏幕上显示的唯一错误是必需的错误 无论它是必需的还是无效的字符串 如果输入的字符串无效 是否可以显示不同的验证消息 这是我的代码 div
  • 从锯齿状数组初始化中省略 c# new

    From http msdn microsoft com en us library 2s05feca aspx http msdn microsoft com en us library 2s05feca aspx 请注意 您不能在元素初
  • 在 WPF TreeView 中对子对象进行分组

    我试图让我的树视图根据相似项目的内容对它们进行分组 为了保持通用 我的对象层次结构可能如下所示 Objects Object Group 1 项目 1 类型 A 项目 2 类型 A 项目 3 类型 B 项目 4 类型 B 现在 我的 Tre