上一篇<2020年的UWP(2)--In Process App Service>中我们了解了UWP和Desktop Extension可以通过AppService进行数据交互.本篇我们就来梳理在不同场景,UWP和Desktop Extension可能存在的交互方式. 对Desktop Extension中程序的类型,我暂时分为以下四种: 执行后立即退出 等待request,处理完后退出 一或多个request/response周期 和UWP程序相同生命周期 本篇我们仅讨论第一种,Deskto…
上一篇我们提到了怎么在Desktop Extension中等待并处理UWP端发出的request.在本篇中将描述UWP和Desktop Extension双向交互的场景,即存在从两端各自发出request,交由对方接受处理.依然是回顾下之前总结的四个场景分类: 执行后立即退出 等待request,处理完后退出 一或多个request/response周期 和UWP程序相同生命周期 这种存在多个request/response周期的场景,具有以下特征: UWP和Desktop Extension两…
上一篇我们讨论了UWP和Desktop Extension间的双向通讯,适用于Desktop Extension中存在用户交互的场景.本篇我们讨论最后一种情况,与前者不同的是,Desktop Extension和UWP保持相同的生命周期,同时规避AppServiceConnection可能被Windows回收的限制,在任意时刻能够反向通知UWP的场景.首先回顾之前总结的四个场景分类: 执行后立即退出 等待request,处理完后退出 一或多个request/response周期 与UWP相同生命…
上一篇我们讨论了UWP和Desktop Extension交互中,Desktop Extension执行后立即退出的场景.下图是提到的四种场景分类: 执行后立即退出 等待request,处理完后退出 一或多个request/response周期 和UWP程序相同生命周期 本篇我们讨论第二种,Desktop Extension等待request后,根据传参完成操作后退出的,短生命周期场景.该类型有以下特征: 可能存在多次的单向调用 通过request接收参数 不关心返回结果 Desktop Ext…
原文:UWP入门(八)--几个简单的控件 每天看几个,要不聊几天我就可以看完啦,加油! 看效果 1. CheckBox <TextBlock Grid.Row="0" Text="CheckBox" VerticalAlignment="Center" /> <StackPanel Grid.Column="1" Margin="20,10,0,10" Orientation="…
原文:uwp开发:数据绑定--值转换器 的简单使用 今天,我在做最近正在开发的“简影”uwp应用时遇到一个问题,其中有个栏目,叫做“画报”,是分组显示一组一组的 图片,每组图片在界面上只显示9个,点击去以后显示该组的所有图片. 其中,Model 如下: 画报类,其中有个属性是图片类集合. 在View界面,通过ListView嵌套绑定GridView 如下: 但是,要求是每项只能显示9张图片,而集合内的数据不止9张,如果这样直接绑定到GridView上,那么会将ImagList里面的所以图片都显示…
在<迁移桌面程序到MS Store(8)——通过APPX下载Win32Component>中我们讨论了通过APPX来下载Service部分的安装包.但是纯UWP的客户端并不能自动运行下载的exe或者msi文件.本篇将着手解决这个问题.假设我们有如下结构的application,蓝色APPX中包含UWP及.NET Standard Libraries.而Service部分以WCF的形式Host在Windows Service上,这其中包含了诸如Win32 API等无法迁移到UWP的内容. 因为用…
涨姿势UWP,一个开源的RSS阅读器,一个纯粹的项目,一个有道德的APP,一个脱离了低级趣味的作者,一些有益于人民的代码.骚年,还等什么,来涨点姿势吧! 该项目代码可能会引起部分人群的不适,敏感人群请在父母陪同下阅读. 看到第三段的骚年们,我想你们是对这个RSS的阅读器感兴趣了,该项目是一个极为简单的UWP的工程,代码托管在GitHub上,供有兴趣学习UWP APP开发的童鞋们参考.工程主要包括以下几个文件: 工程 文件 备注 ZhangZiShiRssRead RssReader.cs 负责R…
在做MVVM各种框架对比之前,我觉得有必要先自己做一个简单的MVVM实现案例比较好,这样就可以看到自己实现的时候有那些不方便的地方.而各种框架又是怎么解决我们这些麻烦的. 案例介绍:用户登录画面,没有输入用户ID数据时按钮不可用,输入用户ID数据后按钮可以使用.点击按钮获取用户名信息. 案例下载:https://github.com/NewBLife/UWP/tree/master/MvvmDemo 1.创建UWP空项目 将False改成True,这应该都懂的 2.构建项目结构 按照MVVM模式…
之前我们讨论了涨姿势UWP的RSS数据源获取,以及作为文件存储到本地,再将数据转化成Model对象.这部分非UI的内容非常适合添加Unit Test.不涉及UI的话,UT写起来简单高效,很是值得投入一点时间以保证程序的可靠性. UWP的Unit Test创建起来并不复杂,首先在涨姿势UWP解决方案下,创建和ZhangZiShiRssRead工程同级的UT工程:ZhangZiShiRssRead.UTTest. 点击确定之后,会创建新的UT工程,结构和一般的UWP工程基本一致,同时会自动包含Zha…