【发布时间】:2016-10-23 10:33:22
【问题描述】:
我正在使用 MVVM 风格的动态创建插件的基类 我有这个函数,我想调用它来获取视图
public override System.Windows.ResourceDictionary GetViewTemplate()
{
var dictionary = new ResourceDictionary
{
Source = new Uri("/IPDev.Plugins.Calibration.Comment;component/CommentCmcTemplate.xaml",
UriKind.RelativeOrAbsolute)
};
return dictionary;
}
这是调用我的函数的函数
public CalibrationViewModelBase Load(ProductionProjectVersions productionProjectVersions, IAdditionalDataStorageService additionalDataservice, CalibrationToolVersion calibrationToolVersion)
{
var viewModel = GetViewModel(productionProjectVersions, calibrationToolVersion);
viewModel.Title = GetTitle();
viewModel.AdditionalDataService = additionalDataservice;
viewModel.ConverterFactory = GetConverterFactory(productionProjectVersions);
ResourceDictionary dict = GetViewTemplate(); //here is the call
Application.Current.Resources.MergedDictionaries.Add(dict);
viewModel.HelpTemplate = dict[HELP_TEMPLATE_NAME] as DataTemplate;
return viewModel;
}
在单元测试中当然视图不存在。 你能提出解决这个问题的方法吗?
【问题讨论】:
标签: c# wpf unit-testing mvvm