Windows8上下文菜单
(2013-01-15 20:24:55)
//Context Menu
<Image x:Name="AttachmentImage"
HorizontalAlignment="Left"
Stretch="None" Source="Assets/attachment.png"
RightTapped="AttachmentImage_RightTapped"/>
public static Rect
GetElementRect(FrameworkElement element)
{
GeneralTransform buttonTransform =
element.TransformToVisual(null);
Point
point = buttonTransform.TransformPoint(new Point());
return new
Rect(point, new Size(element.ActualWidth,
element.ActualHeight));
}
private async void
AttachmentImage_RightTapped(object sender,
RightTappedRoutedEventArgs e)
{
PopupMenu
menu = new PopupMenu();
menu.Commands.Add(new UICommand("Open with", (command)
=>
{
Debug.WriteLine(command.Label
+ "'Selected");
}));
menu.Commands.Add(new UICommand("Save attachment", (command)
=>
{
Debug.WriteLine(command.Label
+ "'Selected");
}));
var
chosenCommand = await
menu.ShowForSelectionAsync(GetElementRect((FrameworkElement)sender),
Placement.Below);
if
(chosenCommand == null)
Debug.WriteLine("Context menu
dismissed");
}
|