我想使用 MVVM 模式构建我的业务应用程序。我选择 MVVM-Light 因为它符合我的需求。
在我见过的有关 MVVM-Light 的每个示例中,没有人使用 WCF RIA。经典的 MIX10 示例在同一项目中使用服务,而 WCF RIA 在 Web 项目中创建服务。
问题是:构建 WCF Ria 创建的整个 DomainContex 的接口看起来非常困难(这对我来说肯定很难!),但是如果没有接口,我如何构建一个假的 DomainContex 以在 Blend 和测试中使用?
我错过了什么吗?
谢谢。
实际上,我使用的解决方案是可混合的,并且使混合过程更加简单。
以下是我如何使用此框架实现此目的的示例:
public class FolderViewModel : VMBase
{
private string _subject = string.Empty;
private string _folderName = string.Empty;
private string _service = string.Empty;
private string _dept = string.Empty;
private string _efolderid = string.Empty;
private string _timingName = string.Empty;
private WorkplanBase _planBase = null;
private IEnumerable<PSCustomList> _timingOptions = null;
private decimal _totalvalue = 0;
public FolderViewModel()
{
registerForMessages();
if (IsInDesignMode)
{
// Code runs in Blend --> create design time data.
EFOLDERID = "0123456790123456790123456791";
Subject = "9999-00 - This is a test nVision Subject";
Service = "AUDCOMP";
Department = "AUDIT";
FolderName = "NVSN003000";
List<PSCustomList> listItems = new List<PSCustomList>();
listItems.Add(new PSCustomList()
{
ID = "1234",
ParameterValue = "Busy Season"
});
listItems.Add(new PSCustomList()
{
ID = "1134",
ParameterValue = "Another Season"
});
_timingOptions = listItems.ToArray();
_totalvalue = 12000;
PlanBase = new WorkplanBase()
{
ClientFee = 15000,
Timing = "1234"
};
}
}
}
然后,所有示例数据都在绑定在 ViewModelLocator 类中的实际视图模型的构造函数中定义。当您处于混合状态时,VMBase 不会尝试实例化 DataContext。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)