Windows Development 88 UWP, WPF, and Other Windows Development Techniques


Windows 10 UWP开发:如何本地化APP名称

我们在设计APP的时候,可能会考虑到不同国家和地区的用户使用,并在界面里针对不同的语言写资源文件做本地化。但是,如何让你的APP名称也本地化?比如在简体中文的系统上显示在程序列表里的是“调色板”,而在英文系统上显示的是“Color Palette”。 做法很简单,首先,和通常做本地化一样,你得有个"Strings\语言\Resources.resw"的文件夹结构。比如简体中文用的是“zh-CN”,美国英语是“en-US” 然后分别在resw文件里加一个key,比如AppName,然后针对不同语言填写不同的名称。这里简体中文是“调色板”,英语是“Color Palette” 最后这部最关键,打开你的Package.appxmanifest文件,把Display Name改成: ms-resource:AppName 现在,部署你的APP,就能看到不同的结果了。 补充:...

Windows 10 UWP

How to save image to file in Windows 10 UWP

My UWP application "Shanghai Metro" has an option to allow user save the metro graph to local file system. The image file is located under project directory, "Assets\shanghaimetro-xl.jpg", and will ask the user to choose a location when saving the image. This is a very common functionality, it's also easy to achieve in UWP applications. The most easy way to do it is to use my library "Edi.UWP.H...

Windows 10 UWP

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 10 VS2015 UWP

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

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

Timer Windows 10 UWP Task

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

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

Windows 10 UWP

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 10 UWP

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

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

Windows 10 UWP

浦发网银插件导致Surface Pro 3不断蓝屏的解决办法

安装浦发网银插件后,Windows 8.1 64位版的系统在部分机器上一开机就蓝屏,比如Surface Pro 3,蓝屏消息是: IRQL_NOT_LESS_OR_EQUAL 这通常是驱动问题导致的。连续启动失败2次后,Windows 8.1会自动进入高级启动,可以用安全模式进系统WINDBG一下dump文件,发现是一个叫peckp_x64.sys的驱动爆的。这个驱动是浦发银行网银插件的一部分,是用来保护键盘输入的,也就是防止键盘记录的盗号木马,但是和Surface Pro 3的驱动冲突,所以导致开机蓝屏。 解决办法如下: 1. 将Windows 8.1启动到安全模式,Surface Pro 3的bitlocker recovery key可以用一台能翻墙的电脑到 onedrive.com/recoverykey 里去找。 2. 在控制面板,程序和功能里,按正常办法卸载浦发插...

Surface BSOD Drivers

如何获得Windows 8.1中已记住的WIFI的明文密码

网上广为流传的方法只能看当前连接着的WIFI的密码,就像这样。是看不到其他被Windows记住的WIFI连接的密码的。Windows 8.1的设置App里也只能删除已记住的WIFI,不让你看密码。 其实,就算你没有连接着那个WIFI,还是有办法看密码的。 1.用管理员权限运行cmd或者powershell,执行: netsh wlan show profiles 显示已被Windows保存的所有WIFI名称的列表 2. 执行这条命令获得明文密码: netsh wlan show profile name=“WIFI名称” key=clear 如果你足够蛋疼,你还可以写个脚本遍历机器上所有的WIFI,得到他们的密码,然后存个txt什么的,你们懂的。...

Windows WIFI Password

Windows Phone 个人开发者一年回顾

今天是2015年1月25日,距我的第一个WP应用上架正好一年。这一年里,因为选择Windows Phone,开发Windows Phone,我收获了很多。我虽然工作是ASP.NET网站开发,WP只是业余的新手,但短短一年来,它带给我太多的美好。有技术上的成就,有许多新的朋友。 我想回顾一年来我和WP的点点滴滴。同时也向和我一样始终坚守在这个平台的个人开发者们致敬。 最早开始写WP应用其实是2013年7月,在我买了第一部WP手机以后,看着Channel  9上的视频边学边写。那时候安卓和苹果早就平分天下了,几乎没有WP什么事。当时我选择Windows Phone开发,仅仅是因为我在Windows平台上已经掌握的编程技能可以用于WP开发,不会耗费太大的学习成本,比如C#、Silverlight等技术。和我最早研究计算机一样,我并没有把赚钱当作目的和目标,而是纯粹的兴趣,所以至今我没有靠WP...

Windows Phone WP