今回紹介するコントロールはContextMenuです。
ContextMenuは対象をタップしてホールドすることでメニューが表示できるコントロールです。
上の画像のように別のコントロールにメニューを表示の機能を付けることができます。
画像の場合などは、タップ&ホールドでメニューがでるのは直感的ではないので、わかりやすいアイコンなどの工夫が必要ですが、画面を有効に利用できる点は魅力です。
基本的なToolkitの導入は[Windows Phone] WindowsPhoneToolkit 紹介 その0 インストールを参考にしてください。
ContextMenuを利用するXAMLコードは以下、
<Image Height="303" HorizontalAlignment="Left" Margin="12,20,0,0" Name="image1" Stretch="Uniform" VerticalAlignment="Top" Width="263" Source="/AutoCompleteBoxSample;component/assets/images/htc_001.JPG" > <toolkit:ContextMenuService.ContextMenu> <toolkit:ContextMenu> <toolkit:MenuItem Header="青" Click="blueMessageClick" /> <toolkit:MenuItem Header="赤" Click="redMessageClick"/> <toolkit:MenuItem Header="黄" Click="yellowMessageClick"/> </toolkit:ContextMenu> </toolkit:ContextMenuService.ContextMenu> </Image>
画像以外にも設定することは可能です。
選択した際のClickイベントのサンプルコードは以下。
private void blueMessageClick(object sender, RoutedEventArgs e) { MessageBox.Show("blue Meessage Click"); // senderはクリックされたMenueItem System.Diagnostics.Debug.WriteLine((sender as MenuItem).Header.ToString()); }
senderには選択されたMenueItemが渡されます。
シンプルなコントロールですが、見せ方に工夫が要りそうですね。
タップ&ホールド可能なことを表すアイコンとか視覚効果ってあるのかな?
Please give us your valuable comment