小娜教你学开发 - UWP

UWP开发的小技巧

技巧一: 在Phone上拓展你的应用的显示区域。(WP8.1中也适用)

在Windows PHone手机上, 在手机屏幕最上方为System Tray,在手机屏幕下方为BottomAppbar, 应用的显示区域位于在这两者之间。若要使应用的显示区域拓宽,使用到了Windows.UI.ViewManagement的功能, 借助于其中的方法, 可以实现应用的全屏显示,即充满整个系统屏幕。

示例代码:

var appView = Windows.UI.ViewManagement.ApplicationView.GetForCurrentView();
appView.SetDesiredBoundsMode(ApplicationViewBoundsMode.UseCoreWindow);

技巧二: 检测应用当前运行在何设备上

假设程序员要在代码中检测当前设备的类型,从而提供个性化的页面显示,可以使用的的类名为Windows.System.Profile.AnalyticsInfo。 示例代码:

var platformFamily = Windows.System.Profile.AnalyticsInfo.VersionInfo.DeviceFamily;

platformFamily可选的值为Windows.Desktop, Windows.Mobile, etc。

技巧三: 页面的导航

UWP应用中页面的导航相较于WP8.1发生了变化, UWP中没有提供NavigationManager这样的类来实现页面导航, 主要是因为UWP以后, 同一套代码既运行在Phone上, 也运行在PC上。当然, 你可以去扩展Phone SDK, 但是更简单的办法是使用Windows.UI.Core.SystemNavigationManager, 使用这个方法能够兼顾到PC和Phone。 首先, 为了能使整个导航机制在所有页面上执行, 我们需要修改App.xaml.cs文件, 在OnLaunched(LaunchActivatedEventArgs e)方法中加入几行代码。

示例代码:

rootFrame.Navigated += (s, arg) =>
{
    SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility =
    ((Frame)s).CanGoBack ? AppViewBackButtonVisibility.Visible : AppViewBackButtonVisibility.Collapsed;
};

SystemNavigationManager.GetForCurrentView().BackRequested += (ss, arg1) =>
{
    Frame rFrame = Window.Current.Content as Frame;
    if (rFrame.CanGoBack)
    {
        arg1.Handled = true;
        rFrame.GoBack();
    }
};
SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility =
rootFrame.CanGoBack ?
AppViewBackButtonVisibility.Visible :
AppViewBackButtonVisibility.Collapsed;


To customize this template, please head to VSWebEssentials for more information.

时间: 2024-10-13 15:53:30

小娜教你学开发 - UWP的相关文章

寒哥教你学iOS - 经验漫谈

http://www.jianshu.com/p/cb54054d3add 寒哥教你学iOS - 经验漫谈 字数2848 阅读1896 评论19 喜欢43 顺便来个广告 iOS开发者 群173499350 给大家提供一个交流技术 也可以聊天打屁的平台 本篇文章主要讲解 4个问题 load妙用 aop面向切面编程 NSNumber Or Int @()适配64位 1 让appDelegate 减少负担 经过漫长时间的学习 你终于掌握了iOS大法 你找到了份iOS开发的工作 信誓旦旦的要开始你的co

微软小娜案例分析

微软小娜APP的案例分析 我们生活中很多时候要和软件打交道,大家上课开小差时候玩的手机游戏,买火车票的网站,互相联系用的微信.QQ,等等都是软件,都很值得分析.你为何成为它们的用户?它们的团队做对了什么,做错了什么?如果你来做,会做得更好么? 通过各种案例分析,评测,辩论,总结,我们就能看到软件工程的原则在实践中的种种体现,学好软件工程,帮助我们在实践中做得更好. 产品 请下载 微软小娜-智能助手,win10,iOS或Android客户端都有! 第一部分 调研, 评测 下载并使用,描述最简单直观

微软小娜APP的案例分析

个人博客作业三:微软小娜APP的案例分析 我们生活中很多时候要和软件打交道,大家上课开小差时候玩的手机游戏,买火车票的网站,互相联系用的微信.QQ,等等都是软件,都很值得分析.你为何成为它们的用户?它们的团队做对了什么,做错了什么?如果你来做,会做得更好么? 通过各种案例分析,评测,辩论,总结,我们就能看到软件工程的原则在实践中的种种体现,学好软件工程,帮助我们在实践中做得更好. 产品 请下载 微软小娜-智能助手,win10,iOS或Android客户端都有! 第一部分 调研, 评测 (软件的b

关于Windows10升级10586之后微软小娜无法打开的问题

你好 小娜! 你好 小娜? 小娜 ? 小娜? 升级了10586的部分同学可能发现,小娜打不开了,她竟然打不开了!!!显示不支持所在的地区和语言.作为小娜的忠粉,同时小娜又是windows10 上的重要组成部分,这个不能忍啊! 下面豆豆哥哥手把手教你,如何在升级之后,重新召唤出我们的可爱的小伙伴Cortana(微软小娜): 1 首先需要需要小伙伴们 打开注册表: windows + R 打开运行窗口, 输入regedit, 一般人害怕被嘲讽,会把这步会省去,豆豆哥哥本着“爱护小白,人人有责”的良好

运维的我要学开发--Python(3)

本文均来自Python Cookbook,本博文励志将Cookbook中的string部位,文件,面向对象编程部分完成,本系列博文陆续还会介绍flask框架,每篇博文都以一个个小例子展示. #-*- coding: utf-8 -*- ''' 检查一个文本是字符串还是二进制 思想:如果字符串中包含了空值或者其中含有超过30%的字符 的高位被置1或是奇怪的控制码,我们就人为这段数据是二进制数据 ''' from __future__ import division import string #所

运维的我要学开发--Python(4)

本文均来自Python Cookbook,本博文励志将Cookbook中的string部位,文件,面向对象编程部分完成,本系列博文陆续还会介绍flask框架,每篇博文都以一个个小例子展示. #-*- coding: utf-8 -*- ''' 文件相关的操作: read() open() 两个参数: 第一个:文件路径 第二个:打开文件的模式 常用的文件打开模式: r:文本模式读取 rb:二进制模式读取 w:创建文件并文本模式 wb:创建文件,二进制模式写 rU:通用换行符的文本模式读取文件(独立

微软小娜评测

微软小娜这软件一入手发现这是一个个人助理类的软件,项目多元化,界面很简单看起来很舒服具体还要仔细体验. bug1:附近美食这一版块,点击链接进去界面显示,返回不能实现,点完成才能实现返回功能. bug2: 采访同学 对象的背景:大学生  对象需求:每天日常安排,考研学习安排,闹钟等需要一个软件能帮助他 使用感受: 这次使用了可以直接语音查询我想要的资料,语音识辨度高不用我再浏览器上搜索.界面干净用的舒服功能也挺齐全,我需要的功能都有了.唱歌这个我用了一听挺好,不像别的软件是机器人声听的不舒服,这

微软小娜app案例分析

个人博客作业三:微软小娜APP的案例分析 我们生活中很多时候要和软件打交道,大家上课开小差时候玩的手机游戏,买火车票的网站,互相联系用的微信.QQ,等等都是软件,都很值得分析.你为何成为它们的用户?它们的团队做对了什么,做错了什么?如果你来做,会做得更好么? 通过各种案例分析,评测,辩论,总结,我们就能看到软件工程的原则在实践中的种种体现,学好软件工程,帮助我们在实践中做得更好. 产品 请下载 微软小娜-智能助手,win10,iOS或Android客户端都有! 第一部分 调研, 评测 (软件的b

个人博客作业三:微软小娜APP的案例分析

第一部分 调研, 评测 下载并使用,描述最简单直观的个人第一次上手体验. 微信小娜在我看来就是一个助手,可以随时关心我们身边的每件事,也能时刻的提醒着我们该干什么,以下就是我发现的功能 查询路况  今日头条  附近美食   热门电影    天气预报   活动动态   限行情况  通过互动可以实现查询天气 电影 笑话 音乐 新闻 会议 闹钟功能 2.上网或图书馆查找bug的定义, 找出几个功能性的比较严重的 bug,至少2个. 声卡驱动不兼容     视频卡频 3.用专业的语言描述 (每个bug