かずきのBlog@hatena

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

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