zoukankan      html  css  js  c++  java
  • UAP如何根据DeviceFamily显示不同的页面

    背景

    微软推出UAP 推荐使用响应式的UI,但是难免遇到一些特殊情况需要使用不同的Page来在不同的设备显示。

    微软目前最新的VS2015在10074上安装后能够支持这个功能特性,只是暂时没有文档介绍。

    我拿到了Demo后整理了一下建立工程的使用这个特性方法:

    使用方法

    1 首先建立一个UAP工程。

    2 在工程中添加自己的Page 比如 这里在子文件夹Modules/Home 下面建立了一个主页Index.xaml,Tilte为"Universal Page"

    3 添加DeviceFamily-DesktopDeviceFamily-Mobile 2个子目录,这2个目录的名字必须固定

    4 将Index.xaml拷贝到DeviceFamily-DesktopDeviceFamily-Mobile,删除这2个目录下的Index.xmal.cs 文件。

    5 修改Desktop下的Tilte 改成 "Desktop Page"

    显示效果如下:

    总结

    1. 使用方法为 在Page.xaml的同级目录添加DeviceFamily-DesktopDeviceFamily-Mobile 2个子目录。
    2. 复制Page.xaml到这2个目录,使Page.xaml.cs 都对于了3个Page.xaml, 系统运行时会通过deviceFamily自动选择对于的Page.xmal,在没有对应的deviceFamily时候会选择原来的Page.xaml.
    3. 因为多个Page.xaml 的存在,需要让出现Control的Name 保持一致,这样codebehine使用的时候才能正常工作,如果不一致会出现codebehine使用Name的时候出现null的情况,需要做检查。

    4. 对所有Xmal文件都有效,对其他文件包括cs文件都无效

    编译情况

    3种xmal会编译成 3种UI和一个codebehind的对象,根据平台来进行使用。

  • 相关阅读:
    activity 之间传递参数
    手动创建一个Activity,完成页面跳转(intent 无参数)
    C++中汉字字符串的截取
    android基础知识清单。
    更改远程仓库
    设计模式六大原则
    事件订阅代码
    Python Mac ssl.SSLError certificate verify failed (_ssl.c:833)
    Python库中常见的 __all__ 变量是干啥的
    Thrift的使用-Python
  • 原文地址:https://www.cnblogs.com/kiminozo/p/4738355.html
Copyright © 2011-2022 走看看