随笔分类 - 个人文章
摘要:各位观众,大家好,欢迎收看由火星电视台直播的《老周吹牛》节目,注意:本节目没有任何技术含量,如果您没有兴趣,请砸掉电视机。今天说一下System命名空间下的一个数据类型——Tuple,翻译过来叫“元组”,其实翻译后我也不知道什么意思,很多专有名词翻译后都不知道什么意思。尽管不知道是什么意思,不过,我...
阅读全文
摘要:有朋友给老周提出建议:老周,能不能在写博客时讲一下有深度的小故事?技术文章谁不会写。讲一下对人生有启发性的故事会更好。哎呀,这要求真是越来越高了。好吧,尽量吧,如果有小故事的话,老周在就每次写博客时写出来;如果没有故事可讲,那只能请您原谅了,呵呵。有人问老周,你每天都玩手机的吗?答案是肯定的,与时俱...
阅读全文
摘要:Win 10 app对窗口标题栏的自定义包括两个层面:一是只定义标题中各部分的颜色,如标题栏上文本的颜色、三个系统按钮(最大化,最小化,关闭)的背景颜色等;另一层是把窗口的可视区域直接扩展到标题栏上,当然三个系统按钮是保留的。也可以用某个UI元素来作为标题栏来呈现。先看最简单的一层,即设置标题栏各部...
阅读全文
摘要:.net本身除了支持SOAP、XML、二进制等序列化和反序列化,后来也加入了对JSON的序列化的支持。然而,在实际开发中,常常会遇到结构不确定的JSON对象,这些对象可能是其他代码动态生成的,你事先无法估计它的结构,甚至它的字段名字是动态改变的。这种情况下,我们很难用一个固定的类来进行反序列化,后来...
阅读全文
摘要:调用服务最简单的方法就是,直接在VS里面添加服务引用,输入服务的地址即可,无论是普通Web服务,还是WCF服务均可。VS会根据获取到的元数据,自动生成客户端代码。如果服务的调用量很大,应用广泛,可以放在IIS上作为一种Web资源使用。但WCF不限于此,它可以在一个进程中运行,或者可以放到Window...
阅读全文
摘要:对数据进行签名和验证,是为了防止数据被“盗版”。比较常规的做法是通过公钥进行验证。算法上多用SAH_xxxx,就是哈希算法。由于MD5后来被发现存在“非唯一性”,你会发现现在很多一些下载的文件验证都用SHA1算法。比如我们下载一个系统.iso镜像,下载后可以核对一下哈希值,来判断文件是否完整且正确无...
阅读全文
摘要:在特定情况,我们希望这样一个场景:N个线程同时调用同一个类实例的同一个操作方法,并且同一个变量可以面向每一个线程存储独立的值。比如,某变量X,它对于线程A的值与对于线程B的值是相互独立的。线程A设置了X的值为3,那么只要代码是在线程A上执行的,那么变量X的值就是3;线程B设置X值为7,那么在线程B的...
阅读全文
摘要:Windows App一般情况下,同一时刻只能有一个应用程序实例在运行,为了在特殊需求下可以同时呈现不同的UI,SDK提供了多视图操作支持。应用程序可以创建新的应用视图,以新的视图为基础可以呈现与主视图不同的内容,但又不影响主视图的UI。这些视图既可以在同一个窗口中切换,也可以用新的窗口来呈现新的视...
阅读全文
摘要:除了可以使用XXXFilePicker来浏览文件外,其实在UWP APP中,也可以向传统Windows窗口一样,通过拖放的方式来打开文件。处理过程和WPF的原理差不多,毕竟都是一脉相承,于是,在学习过程完全可以进行知识迁移。如果希望界面上某个可视化对象作为拖放的放置目标,请务必把它的AllowDro...
阅读全文
摘要:Semaphore类可以控制某个资源允许访问的线程数,Semaphore有命名式的,也有不命名的;如果不考虑跨进程工作,一般在代码中使用不命名方式即可。信号量有点类似于等待句柄,某个线程如果调用了WaitOne方法,这个线程就会暂停,并且等待有可用的信号量时才会继续执行;某个线程调用Release方...
阅读全文
摘要:外面的雨下得很大,老周就决定雨下漫笔了。今天咱们说一个新控件——RelativePanel。本质上,它就是一个面板,面板干啥用的?面板就是一个容器,里面可以放其他对象,就像我们小时候玩的七巧板一样,估计现在的孩子不玩了,现在的孩子除了游戏机就是游戏机,人生如戏啊,不对,应该叫人生如儿戏恰当一些。Re...
阅读全文
摘要:调用通用的API来设置桌面壁纸,是一件既简单又有趣的事情,结合XAML可以生成图像的特性,你甚至可以做一个应用,让用户用他所拍的照片做成一张自定义壁纸,然后作为桌面壁纸。这个API是通用的,应用运行在任意Windows设备上都能使用,当然包括手机。在Windows.System.UserProfil...
阅读全文
摘要:前面老周用了两篇烂文,向大家介绍了Adaptive磁贴的模板使用。那些XML模板已经很强大了,不过,如果你觉得那些排版还不足以满足需求,不妨试试自己来定义磁贴的内容。其实,Runtime App支持在后台任务中生成XAML呈现,只要你编写的后台任务类从XamlRenderingBackgroundT...
阅读全文
摘要:老周在上一篇文章中介绍过了自适应磁贴的基本结构,以及给大家演示了一些例子。本文老周给大伙伴们说说自适应磁贴的另一个特点——分组呈现。当磁贴的内容被分组后,每个组中的内容就会被视为一个整体。比如某磁贴在更新时定义了其内容包含有两个组,有些设备(比如手机、上世纪70年代的电脑、小霸王学习机等)的分辨率较...
阅读全文
摘要:在若干天之前,老周给大家讲了Adaptive Toast通知的XML模板,所以相应地,今天老周给大家介绍一下Adaptive磁贴的新XML模板。同样道理,你依旧可以使用8.1时候的磁贴模板,在win 10的API中也是支持的,此外,Win10 App还支持全新的自适应磁贴模板,本文老周就给大家先讲一...
阅读全文
摘要:Windows 10 发布后,其实SDK也偷偷地在VS的自定义安装列表中出现了,今天开发人员中心也更新了下载。正式版的SDK在API结构上和以前预览的时候是一样的,只是版本变成10240罢了,所以大家不要问老周有什么新的API。API虽然没变,但VS中的应用程序项目是有了新变化。毕竟以前都是预览的,...
阅读全文
摘要:老周最近热衷于讲故事,接下来还是讲故事时间。有人问我:你上大学的时候,有加入过学生会吗?读大学有没有必要加入学生会?哎哟,这怎么回答呢,从短期来说,加入学生会有点用,至少可以娱乐一下,运气好的话,说不定能遇到红颜知己,但这概率相当低。从长远发展看嘛,是没什么用。老周当年读了四年本科,在学生会混了四年...
阅读全文
摘要:老规矩,在开始之前老周先讲个故事。话说公元2015年7月20日,VS 2015发布。于是,肯定有人会问老周了,C#6有啥新特性,我学不来啊。学不来的话你应该检讨。老周比较保守地计算一下,学会C# 6只需要20秒,不信的话,老周笔划笔划一下,你就明白了。1、属性自动初始化。在4.0中引入了这样声明属性...
阅读全文
摘要:有关后台任务的使用,估计大伙伴们不会陌生,而且老周曾经在某文中也简单讲述过。说到后台任务,老周想到了一个问题:有人问,后台任务一定要独立写到一个Runtime组件中吗,能不能写到主项目的代码中?老周严重地回答你:是可以的,在配置清单文件中,你只需要在Extension元素中指定Executable为...
阅读全文
摘要:昨天,老周演示了语音命令集成这一高大上功能,今天咱们来点更高级的语音命令。在昨天的例子中,响应语音命令是需要启动应用程序的,那么如果可以不启动应用程序,就直接在小娜面板上进行交互,是不是会更高大小呢。面向Win 10的API给应用程序增加了一种叫App Service的技术,应用程序可以通过App ...
阅读全文