【问题标题】:Caliburn.Micro view resolution for ViewModel<T>ViewModel<T> 的 Caliburn.Micro 视图分辨率
【发布时间】:2015-07-21 22:01:24
【问题描述】:
我遇到了 CM 的问题,当匹配的 ViewModel 包含泛型类型参数时,我无法让它解析视图。
例如,按照惯例,FooViewModel 解析为显示FooView;但是根据我的实验,FooViewModel<T> 没有。
这是一个受支持的场景,我只是缺少一些明显的东西吗?如果没有,是否有人知道是否有办法coax CM 使用现有约定来做到这一点,或者我是否必须以某种方式添加或覆盖默认约定?
【问题讨论】:
标签:
c#
wpf
caliburn.micro
【解决方案1】:
对于将来可能会看到这一点的任何人来说,当我昨晚解决这个问题时,我似乎已经醒了很久很久。
现在再看一遍(喝了点咖啡后),我可以确认当 CM 遇到一个通用的 ViewModel 类比如FooViewModel<T>时,它会解析为显示一个FooView。
我无法解析 CM 的原因是 FooViewModel<T> 类位于错误的命名空间中!!根据约定和中提琴将命名空间更改为“ViewModels”!一切正常。