かずきのBlog@hatena

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

UWPアプリでSurface Dialのデフォルトメニューを消す

Surface Dial対応のアプリを作ろうと思ったときにデフォルトのメニューが邪魔なときがあります。

f:id:okazuki:20161113182926p:plain

これは簡単に消すことができます。

// デフォルトメニューを消す
var config = RadialControllerConfiguration.GetForCurrentView();
config.SetDefaultMenuItems(Enumerable.Empty<RadialControllerSystemMenuItemKind>());

RadialControllerConfigurationを取得してSetDefaultMenuItemsRadialControllerSystemMenuItemKindの空のIEnumerableを渡してやればOKです。

注意点が1つあって本当に空のメニューは作れないという点です。 SetDefaultMenuItemsで空を指定しても、プログラムから他のメニューを追加してない場合は、デフォルトの表示になってしまいます。

ということで、自前のメニューを1つ追加してSetDefaultMenuItemsで空を指定した場合の見た目を以下に示します。

f:id:okazuki:20161113183440p:plain