gpt4 book ai didi

mvvm - 嵌套 View 模型的嵌套 View

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

我正在寻找一个支持嵌套 ViewModels 和 Views 的解决方案/mvvm 框架。我的意思是:

  • 每个 ViewModel 都派生自 BaseViewModel
  • ViewModel 具有 BaseViewModel 类型的属性,它们是子 ViewModel(嵌套在父 ViewModel 中)
  • 每个 ViewModel 都有对应的 View
  • Views有ContentControl(可以显示模板化 View 的控件)对应对应ViewModel的子ViewModels
  • 现在,在创建 ViewModel 实例时,需要传递具体的子 ViewModel 的适当实例。 View 应该基于 ViewModels 结构自动解析和嵌套( 以某种方式 )。

  • 我没有定义 不知何故因为可能有很多方法可以做到这一点。

    我希望我的想法很清楚。这种方法允许轻松动态地创建 ViewModel 和 View。只需创建 ViewModels 树,例如在 XML 中,并在此基础上创建新功能。

    问题是:
  • 是否有任何 mvvm 框架(mvvmcross、catel)支持 Xamarin.Forms 的这种方法?
  • 您将如何存储 ViewModels 树 - 在 XML、数据库表中,...?
  • 您将如何创建 ViewModel 的实例 - 反序列化、依赖注入(inject)……?
  • 如何创建 View 并解决(如果框架不支持)?
  • 最佳答案

    一段时间后,我可以分享一些关于我提出的问题的经验:

  • 我不知道是否有任何 mvvm 框架支持这种方法。可能 Catel v5 会支持这个,但我没有检查这个。我使用自定义解决方案。
  • 在我的解决方案中,我将 ViewModels 定义存储在父/子结构的单个数据库表中。
  • ViewModel 实例由自定义工厂使用数据库表中的定义创建。
  • View 是使用 ValueConverters 创建的。这是可能的,因为每个 View 都有基于 ViewModels 结构创建的绑定(bind)。

  • 除了上述答案,我可以建议使用 Prism。尽管它对我有一些缺点,但它是这种方法中最好的框架。

    关于mvvm - 嵌套 View 模型的嵌套 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40819147/

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