【问题标题】:Agfx and caliburn.micro exampleAgfx 和 caliburn.micro 示例
【发布时间】:2011-10-18 08:04:50
【问题描述】:

我目前在我的 WP7 项目中使用 caliburn.micro,我对此非常满意。我的应用程序数据量很大,所以我看了一下 Agfx (http://agfx.codeplex.com),它似乎可以为我节省大量数据请求和缓存的时间。

但这里的问题是 agfx 还提供了一个基本视图模型,而我已经有一个继承了 caliburn.micro 的 Screen 的模型。当然,我可以封装一个新的视图模型库,它从 agfx 继承 ModelItemBase,并实现 IScreen。但是我有点不喜欢这样,有没有更好的灵魂或最佳实践可以与我分享如何集成这两个伟大的框架?

最好的问候,

-彭

【问题讨论】:

    标签: mvvm windows-phone-7.1 caliburn.micro agfx


    【解决方案1】:

    我实际上将 AgFx 与另一个 UI 框架一起使用,该框架有自己的 ViewModelBase。我自己的理解是,AgFx 提供的ModelItemBase 是模型库而不是视图模型库。它基本上负责处理数据。

    我的视图模型继承自我的ViewModelBase,它可以做更多的事情,例如墓碑、应用程序栏绑定等。它是为在视图上显示数据而设计的。

    我认为它适合 mvvm 并且效果很好。希望这可以帮助。 :)

    【讨论】:

    • 我明白你的意思,但是 ModelItemBase 继承自 INotifyPropertyChange,这是否意味着它是为 VM 设计的?这样做可能会模糊域模型和虚拟机的界限,对吧?
    • 不,INotifyPropertyChanged 不是特定于 UI 的,如果模型中的属性发生了变化怎么办?在这种情况下,您需要在模型上安装它以通知您的虚拟机有关此更改。
    • 感谢您的澄清,我会尝试一下。
    • Xin,你用的是MVVM Light吗?如果是这样,您能否简要概述一下如何将其与 Agfx 结合使用?
    • @Depechie 抱歉,我正在使用 Jeremy Likness 的 UltraLight Mvvm 框架 wintellect.com/CS/blogs/jlikness/archive/2011/02/25/… 不确定 MvvmLight。 :(
    猜你喜欢
    • 2012-01-11
    • 2013-05-21
    • 2013-01-28
    • 2015-04-26
    • 2013-03-21
    • 2013-08-26
    • 2014-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多