Windows Development


UWP基础教程 - 调起应用的几种方法

## 1. 使用UWP的Launcher API ``` var uri = new Uri("protocolname:"); bool success = await Windows.System.Launcher.LaunchUriAsync(uri); ``` 参考:[Calling Windows 10 APIs From a Desktop Application](https://blogs.windows.com/buildingapps/2017/01/25/calling-windows-10-apis-desktop-appli...

UWP

UWP基础教程 - App多语言支持

UWP实现本地化非常简单,所谓本地化表现最为直观的就是UI上文字和布局方式了,针对文字,提供不同的语言资源文件即可,而针对布局方式,比如在 阿拉伯地区 阅读顺序是从右到左,需要稍稍适配一下。 本文主要讲解的是UWP APP如何进行多语言支持 1. 多语言的文件 Resources.resw 必须放在以语言代码为文件夹名称的目录下,默认情况下系统才能识别; 2. 多语言文件夹放在任何目录都可以,只需要注意的就是文件夹的名称必须是语言代码,具体的语言代码可以[点此查看](https://docs.microsoft.com/en-us/windows...

UWP基础教程 - 重启应用

开发过Winform应用的同学应该都知道,会有一些场景需要将应用重启,如:重新应用配置,崩溃,内存泄漏等情况。这个时候我们只要使用一行代码就可以实现重启。 ``` Application.Restart() ``` 但在之前的Windows10 UWP应用开发中,我们只能提示用户手动重启,这个问题一直很困恼开发者。 在16226版本之后,微软终于实现了这个API。 ``` AppRestartFailureReason result = await CoreApplication.RequestRestartAsync(String.Empty); ...

UWP基础教程 - {x:DeferLoadStrategy}

x:DeferLoadStrategy扩展标记是Windows10 UWP开发的新特性,这个特性可以用于优化启动性能,使用 x:DeferLoadStrategy="Lazy" 会延迟元素及其子元素的创建,通过不需要创建元素减少启动时间和内存使用量。 但是使用该扩展标记每个元素会向添加600个字节的内存,你延迟的元素树越大,将节省的时间也就越多,不过内存占用也会有所增加。 所以如果你的应用性能太低,可以使用内存来换取性能。 讲了这么多,有的同学估计还是一头雾水,那么我们来看下实际的应用吧,在之前要让一个应用隐藏,之前也说过通常设置`Visibili...

UWP基础教程 - 使用协议来启动应用

如果你的应用程序希望能够通过外部协议来访问的话,那么就需要为你的应用添加`protocol协议`。 1、打开Package.appxmanifest文件 在<Applications>节点下添加<Extensions>节点,在<Extensions>节点下添加 ``` <uap:Extension Category="windows.protocol" > <uap:Protocol Name="protocolexsample"> <uap:Logo>Assets\StoreLogo.png</uap:Logo> ...

UWP基础教程 - RelativePanel

在Windows10 UWP开发中,新增和改变了很多特性,这次给大家介绍下`RelativePanel`,这个控件其实和`RelativeLayout`基本一种使用方式,大大方便Android开发人员转行做UWP开发哈。 来看下官方的例子 ::: hljs-center ![](/data/2017/2/relativepanel.png) ::: ``` <RelativePanel BorderBrush="Gray" BorderThickness="10"> <Rectangle x:Name="RedRect" Fill="Red" ...

UWP基础教程 - AuotmationProperties.Name

作为Windows10 UWP开发,大家应该会在很多示例DEMO里面看到`AuotmationProperties.Name`这个属性吧 ``` <Button AutomationProperties.Name="Hello">Hello</Button> ``` `AuotmationProperties.Name`属性的作用是为控件指定可访问性名称,这个名称可以被类似于“讲述人”软件识别,从而提供了软件的可访问性(如视力有障碍的人等),同样也可以在自动化测试中被使用。原则上,一个控件的`AutomationProperties.Name`最好与此控...

UWP基础教程 - GB2312编码

在开发UWP应用的时候,如果要读取一些文本或者网站,大部分都是UTF-8编码的,但是难免会遇到使用GB2312编码的,这时候UWP应用就会出现乱码,在UWP以前会有人将特定编码提取出来做成扩展包,很早之前我写了一个[Encoding.UWP](https://github.com/chenrensong/Encoding.UWP)基于之前的Encoding4Silverlight里面实现了GB2312、BIG5编码,如果想自己做一些特定编码,可以参考下我的源码,如果你只想在UWP中使用GB2312那么没必要这么麻烦了。 ``` EncodingProvi...

UWP基础教程 - {x:Bind}

在Windows10 UWP开发中,新增了{x:Bind}扩展标记,这个标记和[Android DataBinding](https://developer.android.google.cn/topic/libraries/data-binding/index.html)原理非常像,大家有兴趣可以点链接进去看下。 {x:Bind} 和 {Binding} 使用方法类似,但是比{Binding}调试方便,性能上更优,在使用上不需要设置DataContext,而是从Page(或者UserControl)来寻找属性进行绑定。可能是为了强调性能,{x:Bin...

UWP基础教程 - XAML资源

在Windows 10 UWP应用开发中,XAML用于应用界面设计,无论是开发人员还是设计人员经常会设计自定义用户界面或者控件行为,其中会涉及到不同方面的代码设计,例如`控件模板`,`控件样式`,`动画设计`等。为了方便设计,管理和重复利用这些通用代码,XAML提出了资源(Resources)的概念   资源(Resources),其概念和Web应用中的CSS(Cascading Style Sheets)样式类似,其目的为了实现对象的重复调用。在Windows 10 UWP应用开发中,资源的概念不仅仅局限于对控件样式的定义,而且还包括对控件模板的定义,...