gpt4 book ai didi

wpf - 带有模型树的 MVVM

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

我有一个应用程序,其中包含构成一种模式的模型对象树。这可能看起来像:

ElementSet
....ElementGroup
........ScalarElement
........BoolElement
....ElementGroup
........MatrixElement
........VectorElement

这棵树要复杂得多,但你明白了。我将在 WPF TreeView 中显示这棵树,允许用户不仅可以选择特定节点(主从样式),还可以添加、删除和重新排列节点。

我的意图是将树中的每个节点封装在一个 ViewModel 中,我将在其中添加命令、工具提示信息和其他与 ViewModel 相关的绒毛。

我的问题在于我有一棵模型树,并且确实需要一棵 ViewModels 来配合它。我正在努力想一个优雅的解决方案。我该如何构建这个?让它们保持同步? ETC

我正在玩弄的一个想法是将 View 直接绑定(bind)到模型对象的图形,但使用 ValueConverter 将模型转换为每个节点上的 ViewModel。每个模型都有一个唯一的 ID,因此让转换器维护 ViewModel 的可查询缓存以返回 View 并不是不可能的。

为模型集合/树创建 View 模型还有哪些其他有效策略?

最佳答案

根据数据的复杂性,我建议为每个元素使用一个 View 模型和一个构造函数,该构造函数将从您的模型递归地构建一棵树。

如果您只是想从模型中显示字符串和格式化的 double 数,您甚至可能不需要 View 模型,但从长远来看,它将使您的系统更加灵活。

关于wpf - 带有模型树的 MVVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19535847/

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