最近一直在开发XX的uwp版本,也是边摸索边做,最近遇到几个比较奇怪的问题,记录于此。

1、项目可用部署到PC,但无法部署到手机,提示以下错误:

错误 : DEP0001 : 意外错误: Install failed. Please contact your software vendor. (Exception from HRESULT: 0x80073CF9

为了方便开发,我将常用的类库引用好、默认的几个页面做好,然后导出成项目模板,新建项目时都从这个模板开始。之前掌中汇率也是用这个模板做的,可以正常部署,但新建的这个项目就都无法部署到手机了,两台电脑都不行,奇怪的是部署到PC又是好好的。

既然找不到其他的原因,只能分析Package.appxmanifest文件了,经比较,另一个项目掌中汇率的ProductId与新项目是一样的,因为是从同一个项目模板建的。手机里已经安装了相同ProductId的项目,所以后来的就无法安装了,但我印象里觉得应该是如果id冲突应该会提示卸载之前的app,而PC平台又完全没提示这个错误,真是奇怪。将手机里的掌中汇率卸载或修改新项目的ProductId这个问题就解决了。

2、诡异的ListView的Padding导致无法保存列表位置的问题。

UWP默认的ListView样式,在PC的滚动条比较宽,手机上的很细基本就是一条线。因为ListView默认点击会变色,我不喜欢ListViewItem都有个Padding,就修改了ListViewItem的模板,设置Padding为0。这样就产生了在PC上使用时,滚动条会遮住一部分项内容的问题。于是又将ListView设置了一个Padding,设置为12,0。这样既挡不住内容又不会有背景色了,看起来一切正常。

然后在做一个Master/Detail视图的页面时,诡异的问题出现了。在UWP开发中,为了自适应PC和手机不同宽度的布局,可以采用Master/Detail视图来做,左侧列表,右侧详情。

我在MainPage里放了一个SplitView,用来做汉堡菜单,在SplitView的Content里,放了一个Grid,分为两列,每列放一个Frame,用来显示Master和Detail页面,Master页面里是一个ListView,Detail显示具体内容。目的是这样:

在宽度大于720时,两个Frame同时展示;

宽度小于720时,分为两种情况:

如果Detail页面为空,则只显示Master页面,也就是将第一列宽度设置为*;第二列宽度为0;

如果Detail页面不为空,则只显示Detail页面,将第一列宽度设置为0,第二列宽度为*。

具体实现是用了一个自定义的StateTrigger来进行切换。但诡异的问题是,当点击Master页面的列表,隐藏Master显示Detail后,再返回键返回Master,之前的列表位置变化了,跟之前的项相差三四个位置,不一定,但使用起来很别扭,返回后找不到刚才点的是哪项了。

为了解决这个问题,我怀疑是Master页面里有Pivot,结果去掉也不行,然后新建了一个干净项目,什么样式也没加,只是点击一个按钮设置第一列的宽度为0或*,列表位置就正常了。看来是模板或样式的问题,挨个找吧。经过仔细查找,终于找到原因所在,就是因为给ListView加了一个Padding。把ListView的Padding去掉,就正常了。

说的过程很简单,但花了我几乎半天的时间,但经咨询礼物说开发者郑大神,他也是设置了ListView的Padding,却一切正常。所以可能还是没找到关键问题所在。

去掉了ListView的Padding,滚动条又会遮挡内容了,于是只好把ListViewItem的Padding又加上了……转了好大一个圈又回到了原点……

最近的进度有点慢,博客也没大有时间写了,等手头这个app开发完后会及时总结一下。

3、'System.DateTime'/'System.Decimal' is not a valid Windows Runtime parameter type

在开发后台任务时,如果类中使用了DateTime或decimal等类型,会报以上错误。因为后台任务是一个Windows运行时组件,不支持这些.NET类型,可以把用到这些类设置为internal、protected或者private,或者把DateTime改为DateTimeOffset,decimal改为double。

Win10 UWP系列:关于错误 0x80073CF9及一个小bug的解决的更多相关文章

  1. 使用 $(function(){}) 时遇到的一个小bug及解决方法

    在 $(function(){}) 中声明函数,在 $(function(){}) 外调函数,会报错 原因: 页面加载后,会先执行 $(function(){}) 外面的语句,再执行 $(functi ...

  2. 关于一个小bug的修正

    python初学者,非常喜欢虫师的文章. 练习时发现一个小bug,http://www.cnblogs.com/fnng/p/3782515.html 验证邮箱格式一题中,第三个x不允许有数字,但是测 ...

  3. 从一个小Bug,到Azure DevOps

    1. 一个小Bug 最近和同事提起一个几年前的 Bug,那是一个很小很小的 Bug,没什么技术含量.那时候我刚入职,正好公司卖了一款仪器到某个国家,但是那边说配套的软件运行不起来,一打开就报错.经过排 ...

  4. iOS开发之使用UICollectionView实现美团App的分类功能【偶现大众点评App的一个小bug】

    郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 游戏官方下 ...

  5. js动画--一个小bug处理下

    对于上面的课程我们很好的处理了一个小bug,那么我们现在讲程序进行优化一下,前一节的程序中,我们处理处理的属性都是写死了的.为了我们能够很好的对某个属性进行操作的话.我们这样来设置. js文件 win ...

  6. Win10 UWP系列:更新UWP时注意的问题——TargetDeviceFamily

    前几天把CurrencyExchanger提交到微软参加Master认证,结果没有通过,反馈了一些错误,看来微软检查还是比较仔细的. 错误主要有: Visual feedback helps user ...

  7. 记录一个前端bug的解决过程

    人在江湖飘,哪能不挨刀. 我挨了重重一bug.严格来讲这可能是我职业生涯以来的首个悲惨经历,因为凭我的知识储备和经验,基本上任何可重现的bug都是可解的.然而这个bug却困扰了我三个月之久,它具有以下 ...

  8. Python2 下 Unicode 的一个小bug

    关于Python的编码问题已经是老生常谈了,此处主要是介绍一个罕见的问题,也算是Python2的一个bug了(Python3不会有此问题). 在有时候我们去爬取网页或者调用一些第三方库获取文本的时候, ...

  9. 一个疑难bug的解决过程

    一个crontab脚本,下载一个文件并把内容入mysql数据库.具体流程如下: 1, wget一个文件. 2,处理文件生成一个中间文件. 3,将中间文件load入库. 05 10 * * * /hom ...

随机推荐

  1. 【开源】.net 分布式架构之监控平台

    开源地址:http://git.oschina.net/chejiangyi/Dyd.BaseService.Monitor .net 简单监控平台,用于集群的性能监控,应用耗时监控管理,统一日志管理 ...

  2. 【算法】C语言实现数组的动态分配

    C语言实现数组的动态分配 作者:白宁超 2016年10月27日20:13:13 摘要:数据结构和算法对于编程的意义不言而喻,具有指导意义的.无论从事算法优化方向研究,还是大数据处理,亦或者网站开发AP ...

  3. ASP.NET中常用的优化性能的方法

    1. 数据库访问性能优化 数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源.ASP.NET中提供了连接池( ...

  4. CRM 数据密钥 忘记 解决方案

    UPDATE EmailServerProfile SET IncomingPassword=nullUPDATE EmailServerProfile SET OutgoingPassword=nu ...

  5. Android中常见的图片加载框架

    图片加载涉及到图片的缓存.图片的处理.图片的显示等.而随着市面上手机设备的硬件水平飞速发展,对图片的显示要求越来越高,稍微处理不好就会造成内存溢出等问题.很多软件厂家的通用做法就是借用第三方的框架进行 ...

  6. SQL Server常见问题介绍及快速解决建议

    前言 本文旨在帮助SQL Server数据库的使用人员了解常见的问题,及快速解决这些问题.这些问题是数据库的常规管理问题,对于很多对数据库没有深入了解的朋友提供一个大概的常见问题框架. 下面一些问题是 ...

  7. 监控 SQL Server (2005/2008) 的运行状况

    Microsoft SQL Server 2005 提供了一些工具来监控数据库.方法之一是动态管理视图.动态管理视图 (DMV) 和动态管理函数 (DMF) 返回的服务器状态信息可用于监控服务器实例的 ...

  8. bootstrap

    访问Bootstrap中文网,下载bootstrap中文文档,选择用于生产环境的bootstrap. 在官网使用ctrl+f查找想要的内容. 这里记一下Visual Studio Code软件的用法: ...

  9. MonoDevelop 4.0.9 on CentOS 6.3 安装笔记

    前言 Mono的前东家Novell公司旗下的SUSE Linux系列对Mono及MonoDevelop提供内置支持,所以在SUSE/OpenSUSE这些Linux系统中安装MonoDevelop是非常 ...

  10. 分享在Linux下使用OSGi.NET插件框架快速实现一个分布式服务集群的方法

    在这篇文章我分享了如何使用分层与模块化的方法来设计一个分布式服务集群.这个分布式服务集群是基于DynamicProxy.WCF和OSGi.NET插件框架实现的.我将从设计思路.目标和实现三方面来描述. ...