かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

Windows 10 TPのUAPでデスクトップかモバイルか判別する方法

参考:以下のページの DeviceFamilyAdaptiveTrigger。

github.com

UAPで、デスクトップなのかモバイルなのか取得したいという時の方法です。

var qualifiers = ResourceContext.GetForCurrentView().QualifierValues;
if (qualifiers.ContainsKey("DeviceFamily"))
{
    var deviceFamily = qualifiers["DeviceFamily"];
    var dlg = new MessageDialog(deviceFamily);
    await dlg.ShowAsync();
}

上記のコードで"Desktop"なのか"Mobile"なのか取れるみたいです。(モバイルは環境がないので試せてない)デスクトップで試すとDesktopという文字列が取れました。ワンバイナリで、見た目をがらっと変えたいというときには、これを見て、画面自体遷移先を変えるというのもありかもしれませんね。

(XBoxとかIoTとかどうなるんだろう)