Edi Wang

All Posts 286


Windows 10 UWP开发:如何保存图片文件

我的《上海轨道交通》UWP版中有个“保存运营线路图”的功能,可以把工程目录底下“Assets\shanghaimetro-xl.jpg”存到用户的设备上,并且让用户选择一个保存位置: 这是个比较常见的功能,在UWP里实现也不复杂。最简单的是安装我的Edi.UWP.Helpers库:http://www.nuget.org/packages/Edi.UWP.Helpers/ GayHub地址:https://github.com/EdiWang/UWP-Helpers/ 里面的BitmapExtensions有个拓展方法叫做 public static Task SaveToPngIma...

Windows 10UWP

Windows 10 UWP开发:更新VS2015 Update 1后无法加载旧工程的解决办法

今天更新了VS2015 Update 1,然后打开以前的UWP工程就爆炸了。这是因为Update 1里的UWP SDK是10586的,以前是10240的。所以我们需要手工改一下工程文件,把运行时的版本号指向10586。不过要注意,这样编译出来的应用就只有Windows 10 TH2的用户能用了。 1. 在工程上右键选择“Edit 工程名字.csproj” 2. 把10240替换成10586 3. 保存工程文件 4. 右键,选择“Reload Project”重新加载工程 5. 成功加载...

Windows 10VS2015UWP

Windows 10 UWP开发:如何定时触发后台任务

今天在爆UWP的定时后台任务,坑有点多,爆出屎来了。有的坑在很多网上的文章里都没提到,非常的坑。刚刚开荒成功了,把经验写出来分享: 1. 写一个后台任务的类,继承IBackgroundTask接口 通常,在设计应用程序结构的时候,我们会建类库项目(Class Library)放这些类。比如 FarkBackgroundTask.Core 因为是UWP工程,所以建的类库也要是Universal Windows的。注意,这里我们已经埋下了一个巨坑,稍后会解释。 我们的类代码如下: public class SayFarkTask : IBackgroundTask { p...

TimerWindows 10UWPTask

Windows 10 UWP开发:如何读取和保存设置

在UWP里,保存和读取设置的方法和WinRT完全一致。用到的类是ApplicationData.Current.LocalSettings。它里面是用键值对保存设置的。 保存设置的方法是: LocalSettings.Values[key] = value; 读取设置的方法是: if (LocalSettings.Values.ContainsKey(key)) { return LocalSettings.Values[key]; } 注意得先判断key存不存在。 考虑到使用方便,我们可以封装一个管理应用程序设置的类型AppSettings: public class...

Windows 10UWP

Windows 10 UWP开发:如何弹出消息通知

在UWP的App中,弹出消息通知的方法和WinRT一致,注意是App内的消息通知(toast notification)而不是从服务器端推送的通知。主要有几个步骤: 1. 创建XML定义 // 1. create element ToastTemplateType toastTemplate = ToastTemplateType.ToastImageAndText01; XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(toastTemplate); 这里面的消息模板有好几种: // // Su...

Windows 10UWP

Windows 10 UWP开发:如何实现WP8的Pivot效果

UWP的Pivot控件动画效果和以前Windows 8, Windows Phone 8的Pivot不一样,在切换PivotItem的时候,当前选择的Item的Header并不会跑到第一个去,而是单纯的像Tab选项卡那样高亮当前的Tab而已。 我个人喜欢Windows 8的Pivot,即下面这个GIF这样的(这是我正在开发的一个UWP应用)。如果你也喜欢传统风格的Pivot,可以参考以下方法。 实现方法特别简单,只要拿Blend从WP8.1 Runtime的Pivot里把默认样式导出来,稍微改下就行:...

Windows 10UWP

Windows 10 UWP开发:如何保存InkCanvas到图片

Windows 10 UWP的InkCanvas控件不能像WPF那样保存图片了,各种bitmap OOXX都会爆,要保存为图片文件,目前一个可行的方法如下: 1. 首先,通过NuGet安装Win2D.UWP的包: PM Install-Package Win2D.UWP 2. 因为我们要访问用户的图片文件夹,所以得在工程的manifest文件里申请对picture library的访问权限。 在项目属性对话框里点“Package Manifest” 在弹出的页面里选择Capablities底下的Pictures Library. 3. 在页面上创建一个InkCanvas...

Windows 10UWP

如何配置IIS将旧域名的URL转向新域名

如果你网站要更换新域名,必定会碰到迁移的问题。你不可以直接停止老域名的解析,因为这样做会让搜索引擎失去老的索引,然后降低你网站的排名,正确的方法是告诉搜索引擎,你已经改域名了。也就是当用户或搜索引擎访问你的旧URL时,将URL转向到新域名的对应位置。 比如我的博客,旧域名是diaosbook.com,新域名是edi.wang。那么对于之前对diaosbook.com的访问,如: http://diaosbook.com/post/2015/4/22/how-to-read-webconfig-appsettings-with-bigiblity 需要转向到新域名: http://edi.w...

IISURLURL Rewrite

Windows 10 UWP开发:自定义标题栏

UWP和WPF以及以前Windows 8.1的WinRT应用有些不一样的地方。首先就是标题栏,以前Windows 8.1的应用都是全屏的,没有标题栏,Windows 10里面应用可以窗口化运行,所以我们也能够利用标题栏做一些定制。本文针对初学者,可能写的比较啰嗦。 一、首先是最基本的,如何改变标题栏及按钮的颜色 标题栏的对象位于Windows.UI.ViewManagement.ApplicationView类里,有个属性是 public ApplicationViewTitleBar TitleBar { get; } 为了能够访问这个属性,我们需要先取得当前应用窗口的view:...

Windows 10UWP

VS2015 Razor编辑器爆炸的解决办法

VS2015正式版出来快一个月了,然而它经常会爆炸,比如Razor编辑器,打开任何cshtml文件都会弹个错误对话框,然后语法提示就没了。清理垃圾文件、重启电脑、卸载插件,甚至修复安装VS2015都无效: 具体消息是: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. --- System.ArgumentException: Item has already been added. Key in dictionary: 'RazorS...

RazorVS2015