読者です 読者をやめる 読者になる 読者になる

かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

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