WPF怎样实现界面和逻辑的完全分离?

X366ING 2016-09-23 04:19:07
两个不同的project要共用一套UI,目前的想法是将逻辑代码完全抽成不同的dll,由UI调用不同的dll来执行不同的功能。
大体思路是这样,在具体操作的时候有点茫然,不知道该怎么下手。请问有没有相关的书籍或者帖子可供学习?多谢
...全文
3677 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
David丁 2017-06-11
  • 打赏
  • 举报
回复
Caliburn-Micro用着爽
qq14923349 2017-06-08
  • 打赏
  • 举报
回复
也没感觉mvvm有多牛 善用绑定即可
微恒软件 2017-05-03
  • 打赏
  • 举报
回复
楼上说的都对,mvvm+依赖注入 mvvm实现你说的前后分离 依赖注入实现你说的dll、模块分离 现成的框架就是微软的prism框架,不过这个框架入门有点高,可以多学多找资料和案例
woaipb 2016-11-29
  • 打赏
  • 举报
回复
mvvm,你可以学习一下MVVMLight框架
woaipb 2016-10-22
  • 打赏
  • 举报
回复
wpf下用得最多的模式就是MVVM
X366ING 2016-10-08
  • 打赏
  • 举报
回复
引用 6 楼 muzizongheng 的回复:
MEF + MVVM即可. 具体就是多个view modle 用mef实现切换.
谢谢
黑娃 2016-09-30
  • 打赏
  • 举报
回复
MVVM我看过一些介绍,虽然没有用过,但是推测可以达到界面和后台完全分离的效果,类似xcode开发app那样,后台代码指代UI元素需要某种“隐射”,而不是直接用一个name就可以引用了。 我写的wpf都没有用mvvm,因为项目都比较小,我不太习惯,不过我通过自定义模板实现了几套通用的皮肤,所有的wpf项目都可以轻易的共用。不知道你所谓的共用ui是哪种程度,所有ui元素外观布局都一样,还是只是外观一样但布局可以不一样。如果是后者的话不用mvvm也可以实现。 你要是有闲情的话也建议你去了解一下MVVM,很多人都在推荐这个技术。
muzizongheng 2016-09-27
  • 打赏
  • 举报
回复
MEF + MVVM即可. 具体就是多个view modle 用mef实现切换.
X366ING 2016-09-26
  • 打赏
  • 举报
回复
引用 4 楼 q107770540 的回复:
Model-View-ViewModel是一种架构模式,主要在WPF、Silverlight和WP7开发里使用,它的目标是从视图层移除几乎所有代码隐藏(code-behind)。交互设计师可以专注于使用XAML表达用户体验需求,然后创建和视图模型的绑定,而视图模型则是由应用程序开发者开发和维护的。 开源的 PRISM:由微软提供,和MEF/Unity一起用于依赖注入,支持组合命令,可以扩展。MSDN上有详细的教程和演练。 MVVM Light Toolkit:有visual Studio和Expression Blend的项目和项的模板。更多信息请看这里,另外可以参考VS和Expression Blend的使用教程。 Caliburn Micro:支持视图模型先行(ViewModel-First)和视图先行(View-First)两种开发方式,通过co-routine支持异步编程。 Simple MVVM Toolkit:提供VS项目和项的模板,依赖注入,支持深拷贝以及模型和视图模型之间的属性关联。 Catel:包含项目和项的模板,用户控件和企业类库。支持动态视图模型注入,视图模型的延迟加载和验证。还支持WP7专用的视图模型服务。
谢谢
q107770540 2016-09-24
  • 打赏
  • 举报
回复
Model-View-ViewModel是一种架构模式,主要在WPF、Silverlight和WP7开发里使用,它的目标是从视图层移除几乎所有代码隐藏(code-behind)。交互设计师可以专注于使用XAML表达用户体验需求,然后创建和视图模型的绑定,而视图模型则是由应用程序开发者开发和维护的。 开源的 PRISM:由微软提供,和MEF/Unity一起用于依赖注入,支持组合命令,可以扩展。MSDN上有详细的教程和演练。 MVVM Light Toolkit:有visual Studio和Expression Blend的项目和项的模板。更多信息请看这里,另外可以参考VS和Expression Blend的使用教程。 Caliburn Micro:支持视图模型先行(ViewModel-First)和视图先行(View-First)两种开发方式,通过co-routine支持异步编程。 Simple MVVM Toolkit:提供VS项目和项的模板,依赖注入,支持深拷贝以及模型和视图模型之间的属性关联。 Catel:包含项目和项的模板,用户控件和企业类库。支持动态视图模型注入,视图模型的延迟加载和验证。还支持WP7专用的视图模型服务。
X366ING 2016-09-23
  • 打赏
  • 举报
回复
引用 2 楼 tanktang811010 的回复:
MVVM模式加依赖注入,你把vm抽取下接口,界面的代码两个项目公用,调用后台是使用容器注册自己需要的后台实现(vm),数据类(m)建议公用一套吧。
tanktang811010 2016-09-23
  • 打赏
  • 举报
回复
MVVM模式加依赖注入,你把vm抽取下接口,界面的代码两个项目公用,调用后台是使用容器注册自己需要的后台实现(vm),数据类(m)建议公用一套吧。
X366ING 2016-09-23
  • 打赏
  • 举报
回复
求解答

8,757

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧