かずきのBlog@hatena

日本マイクロソフトに勤めています。このブログは個人ブログなので、ここに書いている内容は個人的な意見で会社の公式見解ではない点にご注意ください。好きなものは XAML と C# 。苦手なものは型の無い言語です。

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とかどうなるんだろう)