UWPをPCとMobileで動かしたときの環境チェック方法

 

#wpdev_jp

特にUWP をContinuum で動かしたときを想定して、いまWindows 10 Mobile の Continuum なのかという判定をどうしたらよいかというとき、実装方法の記事でも紹介したとおり、UserInteractionMode がTouch かどうかでまず、判定を始めるといい。

Windows10 DeviceFamily 画面モード 外部モニタ 拡張接続 UserInteractionMode Projection Display Available
メイン画面 接続先
Desktop Desktop Mode なし Mouse - False
Desktop Mode 接続 Mouse Mouse True
Tablet Mode なし Touch - False
 
Mobile Device なし Touch - False
Device Continuum Mouse True

実際、PCのタブレットモードでも UserInteractionMode  は Touch として判定されるが、さらに外部モニタが対応可能かという、ProjectionDisplayAvailable を確認してTrue 、つまり外部モニターに出せる状態というのは Continuum の状態以外にはない。Tablet モードで外部モニターを拡張モードで接続すると自動的にDekstopモードになってしまうため、Continuum と同じモードにはならない。

この状態で、今アプリの画面がどう動いているか判別したいなら Mouse か Touch で判断すればOKというのは前の記事の通り。