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というのは前の記事の通り。