我正在开发Windows手机应用程序,我需要菜单,如选择了Ipad文本(剪切,复制,粘贴),还需要一些自定义菜单。当我在Windows手机中选择文本时,只有一个选项可以看到复制文本。
建议我解决问题的方法。
感谢名单
修改
<Border BorderThickness="3" Padding="6">
<toolkit:GestureService.GestureListener>
<toolkit:GestureListener Tap="GestureListener_Tap" />
</toolkit:GestureService.GestureListener>
<toolkit:ContextMenuService.ContextMenu>
<toolkit:ContextMenu>
<toolkit:MenuItem Header="item1" Click="Item1_Click" />
<toolkit:MenuItem Header="item2" Click="Item2_Click" />
<toolkit:MenuItem Header="item3" Click="Item3_Click" />
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
<TextBlock Text="Tap" />
</Border>
private void GestureListener_Tap(object sender, GestureEventArgs e)
{
Border border = sender as Border;
ContextMenu contextMenu = ContextMenuService.GetContextMenu(border);
if (contextMenu.Parent == null)
{
contextMenu.IsOpen = true;
}
}
我已经使用了这段代码,但它生成了一个上下文菜单,如列表项,我不需要我需要圆角图像图标,如复制和粘贴或者它想要ipad或iphone选择文本菜单。
我想要菜单
答案 0 :(得分:0)
请参阅我的问题与解答Here
然后添加Gesture事件监听器,如下面的代码还要注意,您必须包含Microsoft.Phone.Controls.Toolkit参考。
GestureListener listener = new GestureListener();
listener.Hold += (sender, args) =>
{
// some logic here
textSelectionMenu.Tag = args;
textSelectionMenu.SelectedItem = null;
textSelectionMenuPopup.IsOpen = true;
activePopup = textSelectionMenuPopup;
textSelectionMenu.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));
Size selectionMenuSize = textSelectionMenu.DesiredSize;
System.Windows.Point pt = args.GetPosition(textSelectionMenu);
double offsetX = 50;
double offsetY = pt.Y;
// Finally, make sure it's on the screen
//offsetX = Math.Max(0, Math.Min(offsetX, selectionMenuSize.Width));
//offsetY = Math.Max(0, Math.Min(offsetY, selectionMenuSize.Height));
textSelectionMenuPopup.HorizontalOffset = offsetX;
textSelectionMenuPopup.VerticalOffset = offsetY;
};
this.Browser.SetValue(GestureService.GestureListenerProperty, listener);