【发布时间】:2017-04-30 15:57:46
【问题描述】:
无论我怎么问,我都找不到这个问题的答案。如果树视图在 WinForms 中,似乎有解决方案,但在 WPF 中则没有。
我正在运行时加载一个绑定到名为 OOB 的树视图的 XML 文件。用户可以对树形视图进行各种编辑(添加和删除节点,更改节点的内容等)。所有这一切都完美无缺。现在,我必须将它保存为 XML 文件。显然,这在 WPF 中几乎是不可能的。
此时我所能想到的就是遍历整个树(根据我的阅读,可能需要先展开所有节点,这很容易完成),然后我可以一个一个地阅读节点并使用 xmlWriter 将它们写入 XML 文件。
所以,除非有人有更好的主意,否则我如何在 C# 和 WPF 中遍历整个树,获取每个 Node.name 的内容?一旦我有了每个节点的内容,我应该能够重新构建树结构并将它们写成 XML 文件。
【问题讨论】:
-
通常会将树视图绑定到某个底层数据模型并保存该数据模型。参见例如wpf treeview binding 或 how to bind dynamic json into treeview wpf 或 codeproject.com/Articles/26288/…。但我认为你应该能够使用this question 中的
FindVisualChildren<TreeViewItem>(treeView)来获取TreeView的所有TreeViewItem子级。 -
通常,您会发现人们仅在必要时才评论否决票。通常,一个接近投票足以表明帖子中缺少什么(你有两个反对票和两个接近投票,所以那里似乎是平等的)。请注意,SO 问题不应包含与当前问题直接相关的任何内容。我已代表您编辑了您的问题以改进它,使其符合社区标准。根据手头的证据,我会说你的问题太宽泛而没有包括一个好的minimal reproducible example。另请参阅How to Ask,包括末尾的链接