前面给大伙儿简单介绍了RichEditBox控件的基本用法,以及解决其中的一些小问题. 本文咱们来看看如何自定义RichEditBox控件的上下文菜单. 原理比较简单,所以先说一说原理.当RichEditBox控件的上下文菜单即将弹出时,会引发ContextMenuOpening事件,我们需要处理该事件,并且将e.Handled属性设置为true,这样才能阻止默认上下文菜单的弹出. 首先,在RichEditBox控件上声明附加的菜单项,样板XAML如下: <RichEditBox Name=&quo…
2.0自定义菜单管理 ①接口说明 微信服务号聊天窗口下面的菜单项(有的公众号有启用有的则没有),这个可以在编辑模式简单配置,也可以在开发模式代码配置.微信公众平台开发者文档:微信公众号开发平台创建自定义菜单,可以看到创建菜单的一些注意事项,下面的使用网页调试工具调试该接口,只是调试接口是否可以正常调用,并不是直接创建菜单,根据微信自定义菜单管理文档菜单事件可分为两种: click: 用户点击click类型按钮后,微信服务器会通过消息接口推送消息类型为event 的结构给开发者(参考消息接口指南)…
微信公众账号开发教程(四)自定义菜单 请尊重作者版权,如需转载,请标明出处. 应大家强烈要求,将自定义菜单功能课程提前. 一.概述: 如果只有输入框,可能太简单,感觉像命令行.自定义菜单,给我们提供了很大的灵活性,更符合用户的操作习惯.在一个小小的微信对话页面,可以实现更多的功能.菜单直观明了,不仅能提供事件响应,还支持URL跳转,如果需要的功能比较复杂,我们大可以使用URL跳转,跳转至我们的网页即可. 注意:自定义菜单,只有服务号才有此功能 如何注册,见第一章:微信公众账号开发教程(一) 基本…
记得前一次,老周给大伙,不,小伙伴们介绍了如何填写 .resw 文件,并且在 XAML 中使用 x:Uid 标记来加载.也顺便给大伙儿分析了运行时是如何解析 .resw 文件的. 本来说好了,后续老周会写一篇关于如何在代码里面手动加载文本资源的博文,但一直拖到今天,因为老周前阵子在忙着开发自己的 UWP 应用,已经向应用商店提交了一个版本,昨天刚提交完一次更新. 好,今天咱们就聊聊代码加载文本资源的事情. 在 XAML 中使用 uid 加载资源虽然方便,但是它有个缺点——不同控件有不同的属性,有…
这个功能必须在“红石-1”(build 14393)以上的系统版中才能使用,运行在一台设备上的应用,可以通过URI来启动另一台设备上的应用.激活远程应用需要以下前提: 系统必须是build 14393或以上版本,UWP应用必须使用14393或以上版本的SDK开发. 被启动的应用应当支持协议激活,比如Cortana的协议URI为:[ms-cortana:],当然如果是你自己开发的应用,可以自己定义一个协议,名字随便取,不要跟系统的协议或别人的应用冲突就行,比如:[haha:][zxzx:]等. 必…
这个功能其实并不常用,一般开发较少涉及到证书,不过,简单了解一下还是有必要的. 先来说说制作测试证书的方法,这里老周讲两种方法,可以生成用于测试的.pfx文件. 产生证书,大家都知道有个makecert工具.好,我们先用这个工具来生成一个证书,并存放到当前用户的证书存储中.打开VS的开发人员命令提示符,然后输入: makecert -n // -e // -n 表示证书的标题名字,在系统的证书管理单元窗口中,它会显示在“颁发给”一列中,即证书是颁给谁的.在本例中,该荣誉证书主要颁发给中国好男人.…
在若干天之前,老周给大家讲了Adaptive Toast通知的XML模板,所以相应地,今天老周给大家介绍一下Adaptive磁贴的新XML模板. 同样道理,你依旧可以使用8.1时候的磁贴模板,在win 10的API中也是支持的,此外,Win10 App还支持全新的自适应磁贴模板,本文老周就给大家先讲一下基本结构,下一篇文章中咱们再说一说复杂排版. 应用程序的图标可以分为两类:第一类是应用商店上专用的,就是你的应用提交到商店后,给用户看的图标:另一类就是应用本身的一些图标或磁贴. 磁贴其实也就这么…
Windows 10 发布后,其实SDK也偷偷地在VS的自定义安装列表中出现了,今天开发人员中心也更新了下载.正式版的SDK在API结构上和以前预览的时候是一样的,只是版本变成10240罢了,所以大家不要问老周有什么新的API. API虽然没变,但VS中的应用程序项目是有了新变化.毕竟以前都是预览的,而现在是“正规军”,以前练兵时都用土豆枪,现在都是真刀真枪干了,故而应用程序项目是有变化的. 以前老周跟大家讲的修改项目模板,去掉遥测类库的方法仅仅是针对预览版的,现在我们无须这么做,在新建项目时,…
Windows 10 SDK预览版需要10030以上版本号的Win 10预览版系统才能使用.之前我安装的9926的系统,然后安装VS 2015 CTP 6,再装Win 10 SDK,但是在新建项目后,打开XAML文件时,XAML设计器无法正常注册. 后来,我在SDK目录下的描述API协定的xml文件中看到,对系统的版本要求是在10030以上.所以,应该安装3月份的预览版,即10041以上的版本就能正常使用XAML设计器了. 在VS的使用过程,如果出现错误,不要急着发狂,因为那样做除了伤身之外别无…
延迟共享是啥呢,这么说吧,就是在应用程序打开共享面板选择共享目标时,不会设置要共享的数据,而是等到共享目标请求数据时,才会发送数据,而且,延迟操作可以在后台进行. 这样说似乎过于抽象,最好的诠释方法,还是通过实例对比来观察吧. 老周设计的示例解决方案包含三个项目,其中一个是共享目标,用来接收共享的文本内容,并把文本写入到一个.txt文件中,存放到“文档”库中. 另外两个项目是:一个是未延迟的共享行为,再一个是延迟共享行为. 下面来对比一下效果. 先看未延迟共享的操作,如下图. 因为我在发送数据前…
老周最近热衷于讲故事,接下来还是讲故事时间. 有人问我:你上大学的时候,有加入过学生会吗?读大学有没有必要加入学生会? 哎哟,这怎么回答呢,从短期来说,加入学生会有点用,至少可以娱乐一下,运气好的话,说不定能遇到红颜知己,但这概率相当低.从长远发展看嘛,是没什么用.老周当年读了四年本科,在学生会混了四年,什么名堂也没混出来. 一方面老周向来不求虚名,所以也没去参选所谓的什么部长.主席之类的,这些“官衔”听起来很高大上,实际上很庸俗蠢.既然没兴趣,因而老周更不需要去搞那些见不得人的勾当,什么勾当?…
1.概述 自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能.菜单分为默认菜单与个性化菜单.个性化菜单接口是为了帮助公众号实现灵活的业务运营,开发者可以通过该接口,让公众号的不同用户群体看到不一样的自定义菜单.该接口开放给已认证订阅号和已认证服务号.本文主要介绍微信自定义菜单的创建.查询.删除.各菜单类型事件的响应方法,以及菜单应用的界面整合参考.由于篇幅有限不可能面面俱到,只能抛砖迎玉,大家就可以据此扩展做深入的应用. 2.自定义菜单的规则 自定义菜单分为一级菜单和二级菜单.…
在上文里我们介绍了如何通过Force.com平台里为微信账号添加自定义菜单,本文里我们将进一步介绍如何查询菜单以及删除菜单的相关知识,最后会介绍微信平台如何进行语音识别的相关技术. 查询菜单 与创建菜单类似,查询菜单有自己的接口,其中ACESS_TOKEN需要通过前文介绍到的接口获取,通常2小时后会失效: https://api.weixin.qq.com/cgi-bin/menu/get?access_token=[ACCESS_TOKEN] 为此首先通过前文介绍到的获取Access_Toke…
引言及内容概要 距离写上一篇文章<自定义菜单的创建及菜单事件响应>整整过了两个月的时间,那时公众平台还没有开放view类型的菜单.在不久前,微信公众平台悄悄开放了view类型的菜单,却没有在首页发布任何通知,貌似微信团队很喜欢这么干.一个偶然的机会,我留意到API文档的自定义菜单接口发生了变化,增加了对菜单view类型的说明: view(访问网页): 用户点击view类型按钮后,会直接跳转到开发者指定的url中. 于是我在第一时间更新了小q机器人(微信号:xiaoqrobot)的菜单,在一级菜…
微信把公众号分成订阅号和服务号两种,服务号可以自定义菜单, 菜单大大方便了用户操作. 比如:公众服务号 "中国南方航空" 的自定义菜单如下图: 点菜单就可以直接进入操作了,方便! PS:微信服务号需要以单位身份注册(需上传单位证件等进行认证),个人身份只能注册订阅号(无自定义菜单) PS:易信允许所有公众号均可自定义菜单(还是易信好!) 但是,对于公共平台开发者来说,定义.生成菜单还真有一点点麻烦. 我看了开发文档,测试了3个小时,才算搞明白了.在此,写点心得,并提供一个类,彻底简化开…
之前写的一篇微信公众号文章. 工作需要,进行此次调研,并记录开发过程. 开发目的,页面授权,页面获取用户头像,用户昵称 微信id, 分享页面. 微信订阅号 无法获取用户个人信息 写在记录前,公众号也是第二次搞了,每次看完心里都是一阵苦,究其原因就是没有彻底搞懂他,不明白各个文档直接的关系,这次从头到尾搞一下,记录下整个流程,备忘. 微信服务号开发: 微信公众号开发从0到配置相关功能 //由于微信在开发模式下原有的失效功能比较多需要重新配置,暂时发现失效的有:自动回复,自定义菜单.不确定失效是否需…
读目录 1 使用 2 原理 3. 错误 上次写了<用c#开发微信 (4) 基于Senparc.Weixin框架的接收事件推送处理 (源码下载)>,有园友问到如何创建菜单的问题,今天就介绍下如何创建自定义菜单. 回到顶部 1 使用 1.1 打开 自定义菜单设置工具 1.2 输入id和密码以获取token 如果已有token,也可以直接输入token进行菜单操作,注意这个token不是在微信上设置的token,是通过id和密码获取到的: 1.3  点击"获取当前菜单" 以获取菜…
C#/ASP.NET MVC微信接口开发文章目录: 1.C#/ASP.NET MVC微信公众号接口开发之从零开发(一) 接入微信公众平台 2.C#/ASP.NET MVC微信公众号接口开发之从零开发(二) 接收微信消息并且解析XML(附源码) 3.C#/ASP.NET MVC微信公众号接口开发之从零开发(三)回复消息 (附源码) 自定义菜单开发 1.配置Json字符串 首先配置菜单/menu所需要的Json字符串,然后用post请求微信接口地址即可.配置json格式参看微信接口文档:http:/…
随着上一篇文章的结束,我们已经实现了所有消息的类型的回复功能.今天,我们来学习更加高大上,也更加重要的自定义菜单功能. 一.了解自定义菜单 自定义菜单是微信公众平台最常用也是最重要的功能之一.根据微信平台要求,自定义自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单.其中一级菜单最多4个汉字,二级菜单最多7个汉字,多出来的部分将会以“...”代替. 而自定义菜单可以实现的功能也是多种多样的,根据实现功能的不同,微信自定义菜单按钮共分为10种类型: 请注意,3到8的所有事件,仅支持微…
RichEditBox控件支持对多格式文本进行编辑,一般的文本输入控件可以使用TextBox,不过,如果希望编辑格式较为复杂的文本,就可以考虚使用RichEditBox控件. RichEditBox控件中正在编辑的文本是由Document属性公开的,它是一个ITextDocument接口,该接口没有公开实现类型,只能通过RichEditBox类的Document属性来获取其实例,Win App的API类似于COM的形式出现,所以某些类型只公开了接口,而没有公开实现类型. ITextDocumen…
分析URI中的字符有K种方法(K >= 2),如果查询字符串中的参数比较简单,可以通过子字符串查找的方式来处理:如果查询字符串相对复杂,你可以使用正则表达式来匹配 key1=value1 ,  key2=value2等. 如果你想很轻松地完成查询参数分析,应当考虑使用现成的API,这不,在Windows.Foundation命名空间下面,你会看到一个名字很刺眼的类——WwwFormUrlDecoder.这个很是简单,调用构造函数创建实例时需要提供一个参数,就是URI中的查询字符串,而且必须是以…
在以往版本中,后台任务都是以独立的专用进程来运行,因此,定义后台任务代码的类型都要位于 Windows 运行时组件项目中. 不过,在14393中,SDK 作了相应的扩展,不仅支持以前的独立进程中运行后台任务,也允许后台任务与应用程序位于同一个进程中执行,即单进程后台任务(Single – Process). 听起来很高深?其实很Easy,和以往的多进程模式的后台任务差不多,只是有以下两点不同: 对于独立进程的后台任务,实现方法是实现 IBackgroundTask 接口,然后实现 Run 方法:…
前些天,看到有网友给我留言,说AdaptiveTrigger在自定义控件(模板化控件)中不能触发.因为当时我正在写其他的代码,就没有去做实验来验证,于是我就给这位网友提了使用GotoVisualState的方法来自己切换状态. 今天有空,我就做了做测试,发现AdaptiveTrigger触发器在模板化控件的控件件模板中是可以触发的. 首先,向应用程序项目添加一个新的模板化控件,我叫它为MyControl.如下图. 然后打开Generic.xaml文件,找到新控件的样式,将模板修改为: <Cont…
从WPF开始,就有个InkCanvas控件,封装了数字墨迹处理相关的功能,Silverlight到Win 8 App,再到UWP应用,都有这个控件,所以,老周说了3688遍,凡是.net基础扎实者,必懂WPF,凡是WPF基础扎实者,必懂UWP.这叫一脉相承. 现在你明白为什么每次SDK发布后,老周不用学习就可以直接拿来用的原因了吧,因为老周认真学习过WPF呗,无他,如此而已. Windows 10 一周年更新后,SDK也随即更新,预览版毕竟是未定型的,所以,在预览版阶段,老周并不打算写什么,现在…
如果老周没记错的话,园子里曾经有朋友写过如何在 UWP 项目中使用 Sqlite数据库的文章.目前我们都是使用第三方封装的库,将来,SDK会加入对 Sqlite 的支持. 尽管目前 UWP-RT 库中还没有自带操作Sqlite数据库的API,不过,真要使用的话也不难,因为通过 Nuget ,我们其实可以获取很多支持 Sqlite 操作的第三方组件,当然了,组件虽多,但不是个个都好用,有的会发生这样那样的错误.老周试过几个库,找到一个比较不错的,而且支持 LINQ 操作. 其实呢,如果数据不是很多…
Windows App一般情况下,同一时刻只能有一个应用程序实例在运行,为了在特殊需求下可以同时呈现不同的UI,SDK提供了多视图操作支持. 应用程序可以创建新的应用视图,以新的视图为基础可以呈现与主视图不同的内容,但又不影响主视图的UI.这些视图既可以在同一个窗口中切换,也可以用新的窗口来呈现新的视图.这些窗口,用户可以拖放到不同的虚拟桌面中. 其实,视图的创建.切换.显示都不难,主要的难点在于完成这些操作所需要的类型被分布在不同的命名空间中,故不熟悉SDK的朋友可能找不到. 视图管理相关的A…
在开始今天的内容之前,老周先说一个问题,这个问题记得以前有人提过的. 设置 Windows.ApplicationModel.Core.CoreApplicationView.TitleBar.ExtendViewIntoTitleBar 属性可以让应用窗口中的内容扩展到标题栏.简单地说,就是你的UI区域可以扩大,并填充到标题栏,这在开发自定义标题栏或弄个什么毛玻璃效果时很有用. 不过,这个 ExtendViewIntoTitleBar 属性有个“八阿哥”,一旦你设置之后,系统会对其进行记录,很…
除了 DirectX 游戏开发,我们一般很少单独使用 UI Composition ,因此,与 XAML 互动并集成是必然结果.这样能够把两者的优势混合使用,让UI布局能够更灵活. 说到与 XAML 的集成,则我们必须先认识一位伙计,他非常重要,位于 Windows.UI.Xaml.Hosting 命名空间下,名叫 ElementCompositionPreview ,有了它,我们才可以在 XAML 元素与 Composition UI 元素之间游走.来看看它都公开了哪些成员. public s…
记得前面(忘了是哪天写的,反正是前些天,请用力点击这里观看)老周讲了一个14393新增的控件,可以很轻松地结合InkCanvas来完成涂鸦.其实,InkCanvas除了涂鸦外,另一个大用途是墨迹识别,就是手写识别. 识别功能早在Win 8 App的API中就有了,到了UWP,同样使用,这叫传承,一路学过来,都是一个体系的,我不明白为什么某些人一遇到升级就说SDK变化太大,适应不了.我是不明白了,有什么适应不了的,该不会是你笨吧,或者学习方法不对.反正老周在以前的博客中都说过了,学习要学活,不要把…
所谓三维变换,其实是在二维平面上产生三维的视觉效果.前面老周简单提了一下透视效果,如果透视效果不能满需求,那可以考虑用三维变换. UIElement类有一个属性叫Transform3D,它定义的类型为Transform3D,但,这个类是没有公共的构造函数的,困为它只作为基类.从这个类派生出两个类: PerspectiveTransform3D——这个类的作用是设置观察点的位置,它不能单独使用,单独使用这个类,看不到变换效果.所谓观察点,就好比咱们照相时照相机的观察窗口,照相机放到什么位置,就会看…