Visual Studio

在 Visual Studio 中调试 XAML 设计时异常

在 Visual Studio 中进行 WPF, UWP, Silverlight 开发时,经常会遇到 XAML 设计器由于遭遇异常而无法正常显示设计器视图的情况。很多时候由于最终生成的项目在运行时并不会出现同样的异常,我们往往会忽略设计时异常,仅仅通过关闭设计器在设计时执行代码的功能来规避设计器异常的问题。 规避设计时异常 规避设计时异常,一般有两种做法: 关闭设计器执行代码 在 Visual Studio 2015 中,XAML 设计器左下角的这个按钮可以随时开启或关闭设计器执行代码。如果在 UI 相关的代码中存在问题,而设计器不去执行,就不会造成设计器异常。但代价是无法在设计器中预览数据绑定等效果。 判断设计时还是运行时 另一种做法是在代码中检测当前代码是否运行在设计时中,

  • Void²
    Void²
4 min read
UWP

在 UWP 应用中创建、使用、调试 App Service (应用服务)

在 Windows 10 中微软为 UWP 引入了 App Service (即应用服务)这一新特性用以提供应用间交互功能。提供 App Service 的应用能够接收来自其它应用传入的参数进行处理后返回数据。 创建应用服务 要使应用支持提供 App Service 非常简单。只需正确配置应用的清单文件后添加服务相关的代码即可。 配置应用清单文件 打开项目中的 Package.appxmanifest 文件。 切换到 Declarations 选项卡。 在左侧 Available Declarations 中选择 App

  • Void²
    Void²
12 min read
UWP

UWP 应用获取各类系统、用户信息 (2) - 商店授权信息、零售演示模式信息、广告 ID、EAS 设备信息、硬件识别信息、移动网络信息

应用开发中,开发者时常需要获取一些系统、用户信息用于数据统计遥测、问题反馈、用户识别等功能。本文旨在介绍在 Windows UWP 应用中获取一些常用系统、用户信息的方法。示例项目代码可参见 Github: https://github.com/validvoid/UWP-SystemInfoCollector 由于涉及内容较多,故本文会分为多篇展开。本篇为系列第二篇,介绍如何获取商店授权信息、零售演示模式信息、广告ID、EAS 设备信息、硬件识别信息、硬件设备信息以及移动网络信息。 商店授权信息 Windows.ApplicationModel.Store 命名空间提供了与 Windows

  • Void²
    Void²
13 min read
Windows 10

UWP 应用获取各类系统、用户信息 (1) - 设备和系统的基本信息、应用包信息、用户数据账户信息和用户账户信息

应用开发中,开发者时常需要获取一些系统、用户信息用于数据统计遥测、问题反馈、用户识别等功能。本文旨在介绍在 Windows UWP 应用中获取一些常用系统、用户信息的方法。示例项目代码可参见 Github: https://github.com/validvoid/UWP-SystemInfoCollector 由于涉及内容较多,故本文会分为多篇展开。本篇介绍获取设备和系统的基本信息、应用包信息、用户数据账户信息和用户账户信息。 AnalyticsInfo Windows.System.Profile 命名空间下的 AnalyticsInfo 类负责提供用于设备分析的相关信息。通过此类,我们能够获得系统的具体版本号以及设备类型等信息。 通过 AnalyticsInfo

  • Void²
    Void²
14 min read
UWP

Windows Composition API 指南 - 认识 Composition API

微软在 Windows 10中 面向通用 Windows 应用 (Universal Windows Apps, UWA) 新引入了一套用于用户界面合成的 API:Composition API。Composition API 将使开发者使用更少量的代码在通用 Windows 应用实现更为炫丽的界面效果。本系列文章会对该套 API 的由来、用途以及使用方法进行介绍。 什么是 Composition API 简单来说,Composition API 就是一套在桌面窗口管理器(Desktop Window Manager,

  • Void²
    Void²
9 min read
WinRT

Windows Store 应用获得设备 ID 的几种方案

通过生成唯一的设备 ID 进行数据统计是应用开发中一个非常常见的需求,然而自从 WP 7.8 开始,WP 平台上就无法再获得一个唯一的,不变的,且不同应用间一致的设备 ID 了。本文总结了几种在 Windows Store 平台上用于统计设备 ID 的方案,开发时可以根据具体需求进行选用。 1. 广告 ID 广告 ID 主要用于通过分析用户安装了哪些应用并如何使用来优化广告推送的相关性和频率等行为,同时也用于检测广告欺诈以及其它一些安全问题。 public static string AdvertisingId { get;

  • Void²
    Void²
7 min read
UWP

Win2D 官方文章系列翻译 - 避免内存泄漏

在托管 XAML 应用中使用 Win2D 控件时,必须谨慎处理对象引用计数,以免控件不能被垃圾回收器回收。 内存泄漏的发生条件 你正在通过 C# 等 .Net 语言 (非原生 C++)使用 Win2D 你使用了以下任一 Win2D 控件: CanvasControl CanvasVirtualControl CanvasAnimatedControl CanvasSwapChainPanel 你订阅了 Win2D 控件的事件(如 Draw, CreateResources, SizeChanged...) 你的应用在多个 XAML

  • Void²
    Void²
4 min read
Visual Studio

妙用 Visual Studio 2015 实时可视化树

最近和朋友闲聊时提到 Windows 10 上新的必应新闻应用,我们都比较好奇它的新闻列表布局是怎么做的,故想探究一番。一开始还是按照以往思路,解开 WindowsApps 目录的权限,进入应用的安装目录,打算反编译,后来一想,现在应用都是 .net native 的,这招行不通了啊!后来灵机一动,想起来 Visual Studio 2015 的新功能:实时可视化树。 启动实时可视化树 第一步: 以管理员权限启动 Visual Studio 2015,不要打开任何项目 。 第二步:

  • Void²
    Void²
5 min read