尝试创建基于MVVM三层架构的异步任务:场景:View层触发ViewModel层的动作请求,ViewModel层异步的从Model层查询数据,当数据返回或者请求超时时正确更新ViewModel层数据并触发View层的UI更新。要求:View层保持UI响应,ViewModel层实现有超时控制的异步调用...
分类:
Web程序 时间:
2014-05-19 08:53:52
阅读次数:
404
MVVM是Model-View-ViewModel的简写。微软的WPF带来了新的技术体验,如Sliverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了
诸如Binding、Dependency Property、Routed Even...
分类:
其他好文 时间:
2014-05-19 07:00:30
阅读次数:
528
ViewModel:public abstract class ViewModel :
ViewModel where TView : IView
分类:
移动开发 时间:
2014-05-16 05:28:25
阅读次数:
266
以前的做法:1.当项目的时间比较紧迫的时候,对UI层中控件的事件的处理,往往采取的是类似Winform中最简单的做法,直接做一个事件的Handler直接去调用VM层的方法。2.控件只有一个Command属性,其它的事件的处理方法没有办法和ViewModel层进行解耦的时候往往也采取上面提到的方法。如...
分类:
其他好文 时间:
2014-05-09 18:52:31
阅读次数:
332
DispatcherHelper因为 ViewModel 是一个 POCO,它不能访问
Dispatcher 属性,因此我需要通过另一种方式来访问主线程,以将操作加入队列中。这是 MVVM Light DispatcherHelper
组件的作用。CheckBeginInvokeOnUI:顾名思义,...
分类:
其他好文 时间:
2014-05-09 04:13:44
阅读次数:
280
Load var data = []; var viewModel = { vendors:
ko.observableArray(data)};ko.applyBindings(viewModel);$(function () { // on this
click event, ...
分类:
其他好文 时间:
2014-05-08 21:03:59
阅读次数:
282
将所有的事件,属性,都映射到ViewModel中。好处多多,以后开发尽量用这种模式。解决方法:使用System.Windows.Interactivity.dll,添加该dll到项目引用xmlns:i="clr-namespace:System.Windows.Interactivity;assem...
分类:
其他好文 时间:
2014-05-07 14:50:04
阅读次数:
250
官方提供了 DockingMVVM 示例,但很快就发现,这个示例根本无法在现实项目中应用。主要原因,该项目中的ViewModel需要从DependecyObject继承,因为需要使用 MVVMHelper.SetTargetName(this, "PanelHost"); 该函数的第一个参数必须为DependecyObject。而你的项目中的ViewModel 类需要从ViewModelBase继承,而 ViewModelBase 是从object继承的。从ViewModelBase类继承,将为项目提供许多...
分类:
其他好文 时间:
2014-04-30 22:21:40
阅读次数:
492