我们使用Caliburn.Micro作为视图位置(ViewModel-first),使用视图和ViewModel的默认映射约定,这通常就足够了。我现在需要为异常创建一个映射,其中需要为三种不同的ViewModel类型解析相同的视图类型,并且无法弄清楚如何执行此操作。
举例说明:
ViewModel类型为
MyApplication.ViewModels.ManageTheseThingsViewModel
MyApplication.ViewModels.ManageThoseThingsViewModel
MyApplication.ViewModels.ManageOtherThingsViewModel
我希望解决的视图是其中之一
MyApplication.Views.ManageThingsView
。
我看过Handling Custom Conventions,而ViewLocator.AddTypeMapping()
似乎就是我需要的,但是那里给出的用法示例不够详细,我可以根据自己的情况进行调整。
我怎样才能做到这一点?
编辑:我的情况允许一种不同的简单方式 - ViewModel都来自一个公共基类。
答案 0 :(得分:0)
在Caliburn,我们有Name Transformer的概念。
http://caliburnmicro.com/documentation/name-transformer
请参考此链接并使用正则表达式实现。
这将为您提供此类型的帮助。