Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在UWP / WinIot核心中找不到ViewModelLocator

在UWP / WinIot核心中找不到ViewModelLocator
EN

Stack Overflow用户
提问于 2019-03-24 20:58:07
回答 1查看 98关注 0票数 0

我有一个使用ViewModelLocator类的UWP应用程序(没有MVVMLight或App1 )。ViewModelLocator作为资源集成在App.xml中,并在视图的DataContext中使用。在发布和调试模式下运行此应用程序工作正常。

UnitTestApp1我有一个UnitTest应用程序,它引用了上面的App1。当在发布模式下运行UnitTests时,所有测试都会运行。当我在调试模式下运行UnitTests时,我得到错误:无法反序列化XBF元数据类型列表,因为在命名空间'App1.UI‘中找不到'ViewModelLocator’。行:0位置:0

从Fall Creator开始,这个问题就可以作为最低目标版本使用。我正在读UWP中的ResourceDictionaries,它没有任何代码,也没有直接初始化。这个和那个有关系吗?

EN

回答 1

Stack Overflow用户

发布于 2019-04-04 13:32:06

@Schaf,

ViewModel需要能够访问实际的模型。在任何数据可供它们使用之前,您已将它们全部初始化。这不是他们打算使用的方式。

Model-View-ViewModel结构意味着允许聚合不同的数据点来呈现一组特定的信息,并且同时是可测试的。在调试模式中,不使用资源,因为这本质上是一组静态对象(图像、不变的列表等)。在实际运行时调用的。

此外,在您的场景中,您的数据访问似乎集成到了ViewModel本身中。在调试模式下的测试应该是白盒测试,以确保数据的流程和转换从头到尾都很容易访问。默认情况下,这要求测试下的类(在本例中是ViewModels )必须可以直接从test Harness访问,因此必须能够从整个应用程序上下文(应用程序资源所在的位置)之外进行实例化,而整个应用程序上下文并不是在调试模式下完全组装的。

所以回答你的问题,是的,不能在调试模式下测试你的ViewModels与它们在ResourceDictionary下有直接的关系。如果您将ViewModels拉出到解决方案中与您的模型处于同一级别的它们自己的文件夹中,您应该能够以调试模式访问它们,并且不仅测试数据访问,而且测试填充每个ViewModel的信息是否为正确的信息集,以满足您试图满足的业务规则。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55328510

复制
相关文章
win10 uwp 在 VisualStudio 部署失败,找不到 Windows Phone 可能的原因
在我使用 VisualStudio 调试的时候,发现我插入了手机,但是 VisualStudio 在部署的时候找不到手机。 可能的原因是 手机禁用了连接,第二个原因是可能手机驱动没正确让 VisualStudio 找到手机
林德熙
2022/08/04
5940
win10 UWP MvvmLight入门 安装MvvmLight新建ViewModel文件夹绑定参考
安装第二个。他包含了运行的类库,我们将会使用里面的一些类。关于lib包含的库,参见:http://www.cnblogs.com/manupstairs/p/4890300.html
林德熙
2018/09/18
8490
win10 UWP MvvmLight入门
            安装MvvmLight新建ViewModel文件夹绑定参考
[Windows] Prism 8.0 入门(下):Prism.Wpf 和 Prism.Unity
这篇是 Prism 8.0 入门的第二篇文章,上一篇介绍了 Prism.Core,这篇文章主要介绍 Prism.Wpf 和 Prism.Unity。
dino.c
2020/12/09
5.7K0
[Windows] Prism 8.0 入门(下):Prism.Wpf 和 Prism.Unity
win10 uwp 在 VisualStudio 部署失败,找不到 Windows Phone 可能的原因 手机更新usb 驱动
在我使用 VisualStudio 调试的时候,发现我插入了手机,但是 VisualStudio 在部署的时候找不到手机。 可能的原因是 手机禁用了连接,第二个原因是可能手机驱动没正确让 VisualStudio 找到手机
林德熙
2018/09/18
7380
win10 uwp 提示 Cannot find a Resource with the Name Key 找不到资源
这个问题其实是 UWP 的 XAML 界面提示做的不好的原因,比较难简单从提示信息里面找到对应的问题
林德熙
2022/08/12
7850
在ubuntu中使用sudo找不到命令
sudo有时候会出现找不到命令,而明明PATH路径下包含该命令,让人疑惑。其实出现这种情况的原因,主要是因为当 sudo以管理权限执行命令的时候,linux将PATH环境变量进行了重置,当然这主要是因为系统安全的考虑,但却使得sudo搜索的路径不是我们想要的PATH变量的路径,当然就找不到我们想要的命令了。
zhangheng
2020/04/29
12.1K1
win10 uwp 使用 Geometry resources 在 xaml
经常会遇到在 xaml 使用矢量图,对于 svg 的矢量图,一般都可以拿出来写在 Path 的 Data ,所以可以写为资源,但是写出来的是字符串,如何绑定 Geometry 到字符串资源?
林德熙
2018/09/19
4470
win10 uwp 使用 Geometry resources 在 xaml
在UWP应用中读取系统证书信息
在Windows里,我们可以通过certmgr.msc查看和管理系统证书,这个工具是Windows自带的。
Edi Wang
2019/07/08
9090
在UWP应用中读取系统证书信息
win10 uwp 在 Grid 接收键盘消息
小伙伴问我为什么他的选中的 Grid 无法接收到键盘消息,原因是在 UWP 中只有 Control 类才可以拿到键盘焦点,而 Grid 是 Panel 没有继承 Control 类所以 Grid 无法拿到焦点。需要在容器里面放一个继承 Control 的类,这个类可以接收键盘事件,通过路由事件让容器拿到键盘
林德熙
2022/08/07
7790
win10 uwp 使用 Geometry resources 在 xaml
经常会遇到在 xaml 使用矢量图,对于 svg 的矢量图,一般都可以拿出来写在 Path 的 Data ,所以可以写为资源,但是写出来的是字符串,如何绑定 Geometry 到字符串资源?
林德熙
2022/08/04
3600
在UWP项目中使用Entity Framework (20210505)
代码链接:scirem/EntityFrameworkLovesUWP (github.com)
ZhangYang
2021/05/05
5870
在UWP项目中使用Entity Framework (20210505)
win10 uwp 在 xaml 让 TextBlock 换行
在 xaml 可以使用 
 表示换行,所以最简单的方法是在 Text 里面输入 
 换行
林德熙
2019/03/13
1.6K0
win10 uwp 在 xaml 让 TextBlock 换行
尴尬:在zoom中找不到会议密码
临时要开一个zoom会议,点击“新会议”进入,然后邀请其他与会者。 “会议” - “复制邀请链接”, 得到一行这样的信息(会议号已模糊处理) https://oracle.zoom.us/j/99
Alfred Zhao
2022/10/31
2.8K0
我心中的页面重构
今天第一次堵门口,霸面了一把,不是什么光荣的事。面试临走的时候,面试官要我今晚把作品以及简历发给他看看,并强调只要重构相关的。
libo1106
2018/08/08
3920
Mybatis在IDEA中找不到mapper映射文件
这个问题的解决方法就是在pom.xml文件中加上配置,让编译器把src/main/java目录下的xml文件一同编译到classes文件夹下。
别先生
2020/12/09
3.6K0
我心中的AI
企鹅号小编
2017/12/27
6750
我心中的AI
PasswordVault —— 在 UWP 应用中安全地保存密码
2018-06-15 13:43
walterlv
2018/09/18
1.6K0
wp和uwp_uwp wpf
3.将Windows Mobile Extensions for the UWP添加进项目中
全栈程序员站长
2022/09/20
5230
win10 uwp 右击浮出窗在点击位置
如果需要让 Flyout 显示在指定的位置,那么请看本文。 本文主要让 MenuFlyout 出现在我们右击位置。
林德熙
2018/09/18
8200
win10 uwp 右击浮出窗在点击位置
加强版在国内分发 UWP 应用正确方式 通过win32安装UWP应用
几乎所有国内的 UWP 开发者都知道,在国内开发 UWP 应用最大的问题不在于那么多系统的适配和不断修改的 API 接口,而是用户根本无法下载安装应用。在国内除非能掌握入口,否则想要将 UWP 开发应用在商业团队是很难的。刚好我所在的团队能将硬件设备直接给到用户,此时预装的系统里面就可以带上自主开发的 UWP 应用,解决了用户无法在应用商店安装应用的坑。但是大多数的团队都不能这样做,同时我的团队如果只是依靠硬件设备预装,那么会限制用户量。本文告诉大家如何使用传统的方法,将 UWP 作为 win32 应用安装包方法分发给用户安装
林德熙
2020/03/12
1K0

相似问题

在类型'ViewModelLocator‘中找不到属性'IsDataSource’

11

从WinIoT核心上的另一个UWP应用安装UWP应用

22

使用MVVMLight的WPF UserControl找不到ViewModelLocator

13

KeyError:“[17]在轴心中找不到”

15

SetRowSpan在uwp中找不到

26
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文