首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Catel MVVM结构

Catel MVVM结构
EN

Stack Overflow用户
提问于 2013-04-19 07:51:09
回答 1查看 1.4K关注 0票数 2

我有一个简单的WPF应用程序,我使用Catel (3.5)框架来使用MVVM。visual studio中Catel的默认结构是:

代码语言:javascript
复制
Solution:
  Project:
    FolderView
    FolderViewModel
    FolderModel

我想把结构改为

代码语言:javascript
复制
Solution:
  ProjectView
  ProjectViewModel
  ProjectModel

通过这种方式,我完全分离了M,并添加了引用。

据我所知,Catel会自动扫描项目,以便在遵守命名约定的情况下找到Viewmodels。

我不能把这个工作做在第二个结构上,任何建议都会被预先处理。

编辑 1:我在App.xaml.cs中添加了以下代码

代码语言:javascript
复制
var viewModelLocator = ServiceLocator.Default.ResolveType<IViewModelLocator>();
viewModelLocator.NamingConventions.Add("CatelV2ViewModel.ViewModels.[VW]ViewModel");

这对我不起作用,我也不知道为什么。我确信我的程序集名称是正确的,我用ViewModel结束类名。

编辑 2:如果我添加以下代码,应用程序就能工作:

代码语言:javascript
复制
viewModelLocator.Register(typeof(MainWindow), typeof(MainWindowViewModel));

但是我仍然想知道为什么当我添加一个NamingConvention时它是有效的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-19 11:03:20

Catel有许多正在使用的不同的命名约定。大多数情况下,它是通过检查同一个项目中的/Views、/ViewModels、/Models来做到这一点的。

有关Catel中命名约定的更多信息,请访问文档:

https://catelproject.atlassian.net/wiki/display/CTL/Naming+conventions

您可能希望自定义ViewLocatorViewModelLocator

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16099851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档