Edi Wang

Windows Development 83


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

Windows Phone Runtime 8.1如何设置最小化的工具栏

以前在Silverlight Runtime下,要设置一个最小化(缩紧)的工具栏,给ApplicationBar设置Mode属性为Minimized就行 到了Windows Phone 8.1运行时下,这个Mode属性木有了。就算你不加任何按钮或菜单,在XAML设计器里起来是最小化了,运行时还是会展开的。比如这段代码: 在XAML设计器里的效果: 运行时的效果: 草草草草草。。。 查了下stackoverflow,其实CommandBar有个新的属性,ClosedDisplayMode,可以实现Minimized。注意,加在CommandBar上,不是Page.BottomAppBar。 这样就OK了。...

WP WinRT XAML

Windows Phone Runtime 8.1 按返回键彻底关闭App

Windows Phone Runtime 8.1里面的坑不止一点点,最明显的是很多应用以前可以通过按返回键关闭,但是在8.1之后,如果你用了WinRT的runtime写程序,就会发现返回键的行为仅仅是返回WP的主屏幕,而不是关闭App。长按返回键你会发现你的App是被“最小化”在后台了。WP8.1的新版日历应用也是这样。 虽然这对系统性能没有什么影响,但是让处女座用户看见了就会感觉不爽,所以我们还是把它改掉吧。 WinRT里面这个硬件返回按钮是有专门的事件的:HardwareButtons.BackPressed。我们需要处理的情况仅仅是在应用的主页面上,按手机返回按钮关闭App,所以不需要override全局的HardwareButtons.BackPressed事件。只需要在主页面(通常是MainPage.xaml.cs)里override两个导航事件: protected...

WP WinRT

Windows Phone Runtime 8.1 如何显示系统状态栏(以前的SystemTray)

首先。。。虽然我文章写的2,但是国内愿意主动分享WP开发经验的博客太少了,大家都是粉,为了这个平台不容易,所以我有点什么都会拿出来分享,觉得文章菜的请不要喷。。。 开发WP8.1的小伙伴们如果选择了WinRT的runtime,可能会被坑:如果你的手机主题是黑色的,但是你的应用选择了白色主题,就像这样 RequestedTheme="Light" 那你会发现,虽然你在写UI配色方面偷懒了许多,但是WP的系统状态栏(显示信号、时间的地方),也就是Silverlight Runtime里称作SystemTray的,配色并不会因为你选择了“Light”而变成黑色这种对比色,它始终是跟着手机系统设置走的(黑色主题则为白色,白色主题则为黑色),于是你的应用就会出现一条白色的状态栏在手机顶端,用户再也不能愉快的看时间了。草草草草草。 当你想修这个问题的时候,你又会发现微软已经把Silverlig...

WP WinRT

Windows Phone 8.1 Silverlight运行时StorageFolder.GetFolderFromPathAsync爆掉的问题

微软说好的一键Target WP8.1的神话终究还是个坑。不少朋友发现有些API虽然编译通过,但依然是爆炸的。比如 await StorageFolder.GetFolderFromPathAsync(); 运行时会就直接爆炸了: 这个坑留在我的几个应用里好久了,今天刚解决。方法是换个API。。。。。 原来是这样子: var path = await StorageFolder.GetFolderFromPathAsync("Assets/StationFloorMaps/"); var imgTemplate = await path.GetFileAsync(_imgPath.Replace("Assets/StationFloorMaps/", string.Empty)); 现在是这样子: var package = Windows.ApplicationMod...

Silverlight Windows Phone

Surface Pro 3 防煎蛋经验

Surface Pro 3刚刚在国内上市,很多用户和我一样发现它经常发热严重,可以煎蛋。首先这并不是美版或国行的问题,大家都是会煎蛋的。我的美版用了一个多月下来,总结了一些防煎蛋经验,分享给大家,希望有所帮助。 首先,Surface Pro 3在插着电源和靠电池运行的时候,煎蛋的程度是不一样的。在默认的“平衡”电源计划下,插着电源使用是会煎蛋的,这是正常的。所以本文讨论的都是靠电池运行时候的配置。 1. 亮度 影响煎蛋和电池续航最显著的是亮度设置。如果你的亮度太高,会发现一个警告: 经过开荒,能让这个警告消失的阈值是40%,这个精确值在电源选项里是可以改的: 2. 对煎蛋效果影响最大的另一个因素是Windows服务 2.1 可以禁用的服务: 家庭组 HomeGroup Listener (HomeGroupListener)HomeGroup Provider (H...

Surface