gpt4 book ai didi

wpf - 在 wpf TreeView 中,如何使用其先前的扩展值重绘节点(使用 MVVM)

转载 作者:行者123 更新时间:2023-12-03 10:15:30 25 4
gpt4 key购买 nike

我正在开发一个具有严格 MVVM 模式的 wpf 桌面应用程序。
目前我的应用程序正在做以下事情:

  • Showing a Treeview with HierarchicalDataTemplate.
  • User can expand or collapse Nodes.
  • User can add add new Nodes(Drag n Drop + double click).
  • Everytime a new Node is added Model is updated and Treeview is recreated based on Model.
  • Because Treeview is recreated, all nodes are shown as expanded after adding nodes.


我想显示具有先前扩展条件的节点。有没有办法使用 MVVM 做到这一点?到目前为止我的想法是

  • Model should not contain any data related to how to draw UI ??
  • VM should just get data from Model and put it in UI(and pass date from UI to Model) ??


谢谢你的想法。我可能离铁路很远。但只是想从你们那里得到一些智慧。

谢谢
派佳

最佳答案

如果您还没有,请阅读 Josh Smith 的这篇精彩文章:Simplifying the WPF TreeView by Using the ViewModel Pattern

基本上,他建议包含一个名为 IsExpanded 的属性。在你的虚拟机中绑定(bind)TreeView正确设置它,以便展开/折叠状态完全由程序员控制。

关于wpf - 在 wpf TreeView 中,如何使用其先前的扩展值重绘节点(使用 MVVM),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2196838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com