XAML代码隐藏在文件和MVC之后

时间:2011-01-18 23:08:04

标签: wpf silverlight model-view-controller xaml

文件后面的代码是否与MVC的Control类或Boundary-Control-Entity模式具有相同的目的?

我用Silverlight和WPF做了一些小项目,大部分时间我都把逻辑放在代码隐藏文件中。虽然引用了其他类。不是代码背后的所有内容。

代码隐藏文件的最初目的是什么?大多数人如何使用它?

谢谢,

捐赠

2 个答案:

答案 0 :(得分:0)

开发Silverlight应用程序的首选设计模式是MVVM,其中View Model更接近于接管MVC中控制器的角色。使用MVVM模式时,我只使用控件后面的代码来实现与数据无关的仅UI(仅查看)逻辑,例如执行动画和其他特殊效果。

答案 1 :(得分:0)

最初,代码隐藏文件与WPF中的数据转换器一起,与VB6,C#,VB.NET中的代码隐藏有着相同的目的。它主要是放置响应UI事件的代码的地方。但是,在WPF和Silverlight的情况下,代码隐藏文件中的编码可能非常混乱,如果除了最简单的程序之外还有其他任何内容,那么以后很容易导致维护问题。

我认为,“模型 - 视图 - 视图模型”(MVVM)是在WPF开发的最后阶段构思出来的。 Silverlight的构思晚于MVVM。我可以说近。并非每个我听说过WPF或Silverlight的顾问都相信MVVM是“首选的”设计模式,但它是一个可靠的抽象模型。

即使在今天,WPF也没有WinForms那么好。这是潜在维护问题可能非常混乱的部分原因。 MVVM作为一种设计模式,弥补了XAML和WPF / Silverlight作为用户界面模型的不成熟所带来的许多缺点,同时提出了XAML和WPF提供的大部分巨大优势。

MVVM摘要可用hereherehere。约什·史密斯是该模式的主要权威,他出售了一本名为“Advanced MVVM”的书,据说这是有用的;不过,我能够实现一些复杂的实现。