Tag: 棱镜

MVVM Light + Unity还是Prism?

我现在已经有些过时了,现在有兴趣听听人们对Prism最新版本的看法(我之前使用过几个版本),还是MVVM Light + Unity方法(我从来没有这样做过 – 体面的例子url会很好)。 我的项目将是由多个开发人员编写的包含多个模块的大型项目。 也有资金来引入第三方控制套件,以build立一个漂亮的工作空间使用一个漂亮的Docking / Workspace布局pipe理器(我知道一些比其他人更好地发挥Prism区域)。 如果你现在从头开始一个项目,你会怎么做,为什么? 有关具体build议的体系结构模式的详细信息将会很有用(例如,自动发现模块DLL?注入日志logging服务?)。 基本上,任何想法和build议都会很好。 我想讨论一下。 也许你会build议进入另一个方向吗? 我非常在研究阶段,并希望尽可能多的input。 我把这个放在这里是因为我认为它会比Prism / MVVM Light论坛的偏见less一些,但如果这个问题有更合适的地方,请指出我的方向。

WPF / Silverlight – 棱镜 – 初学者的资源

官方网站 WPF和Silverlight的复合应用指南 模式和做法:复合WPF和Silverlight 用品 棱镜复合Web应用程序 播客 PRISM for Silverlight – Connected Show video广播 SlickThought.Net – Jeff Brand dnrTV 布莱恩Noyes在棱镜 布赖恩Noyes棱镜事件和命令 第9频道 什么是棱镜V2? 何时使用Prism for Silverlight或WPF应用程序播客 Prism v2 – WPF和Silverlight的复合应用指南 1/4 – 创build一个shell和模块 2/4 – 视觉构图 3/4 – 实现视图和服务 4/4 – 解耦通讯 你有没有build议其他资源的棱镜?

什么是WPF的棱镜?

我最近碰到过一个叫棱镜的东西。 运行该项目的微软将其描述为 WPF和Silverlight中复合应用程序指南。 即使在阅读了更详细的描述之后,我恐怕也不知道实际上是什么。 我希望有人能够给我一个关于棱镜究竟是什么的清晰简洁的解释,为什么我应该学习它。 我几年来一直是WPF开发人员,用MVVM公平的分享,最近遇到了使用Prism的人,但个人觉得这里有点不合适。 特别是,我想知道以下几点: 棱镜是否仅仅(或主要)是MSDN网站上给出的小册子? 它包括任何库,如果是的话,究竟是什么? 棱镜是MVVM框架吗? 我应该使用它作为“官方微软MVVM框架”比其他人还是我自己的? 它提供dependency injection吗? 这是否与MEF有关? 作为WPF / Silverlight开发人员,我还应该了解有关Prism所做的事情。

将muliselect列表框中的SelectedItems与ViewModel中的集合同步

我有一个使用棱镜的SL3应用程序中的多选列表框,我需要在我的viewmodel中包含列表框中当前选定项目的集合。 viewmodel不知道任何有关视图,所以它无法访问列表框控件。 此外,我需要能够从视图模型清除列表框中选定的项目。 不知道如何解决这个问题 谢谢Michael

MVVM:绑定到模型,同时保持模型与服务器版本同步

我花了相当一段时间来尝试find一个优雅的解决scheme,以应付下面的挑战。 我一直无法find解决问题的办法。 我有一个View,ViewModel和Model的简单设置。 为了解释,我会保持简单。 该Model有一个名为stringTitle的单一属性。 该Model是View的DataContext。 该View有一个TextBlock这就是模型上的Title绑定。 ViewModel有一个名为Save()的方法,将Model保存到Server Server可以推送对Model所做的更改 到现在为止还挺好。 现在为了保持模型与Server同步,我需要做两个调整。 服务器的types并不重要。 只要知道我需要调用Save()以将模型推送到Server. 调整1: Model.Title属性将需要调用RaisePropertyChanged()以将Server对Model所做的更改转换为View 。 这很好,因为Model是View的DataContext 不错。 调整2: 下一步是调用Save()将从View所做的更改保存到Server上的Model 。 这是我卡住的地方。 我可以在ViewModel上处理Model.PropertyChanged事件,该事件在模型被更改时调用Save(),但是这使得它响应服务器所做的更改。 我正在寻找一个优雅和合乎逻辑的解决scheme,如果有意义,我愿意改变我的架构。