用于Windows手机的信息菜单

时间:2014-06-23 10:54:24

标签: c# xaml button windows-phone-8

当按钮触发事件 Hold 时,是否可以创建某种信息菜单。我已经看了一下ContextMenu,但是当你停止持有时,它不会自动关闭。我想要的是一个PopUp,或类似的东西,当按下按钮事件 Hold 时显示某种信息,并在不再有" Holded"时关闭。这是可能的,在这种情况下我应该使用什么?

2 个答案:

答案 0 :(得分:1)

我猜想解决方法可能就是使用弹出窗口。因此,当触发保持事件时,您可以使用手指的位置显示弹出窗口。当用户释放屏幕时,应触发操作结束事件,然后您可以使用布尔值来检查它是否是保持事件。

如果是暂停事件,则关闭弹出窗口,或者删除它,如果需要将其从内存中删除。

答案 1 :(得分:0)

是的,您可以使用Popup类来显示任何类型的消息或任何您想要的选项。

参考其中一些样本:

Popup in windows phone 8

WP8: no popup available?

对于暂停事件,您可以使用toolkit

XAML:

xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"

<toolkit:GestureService.GestureListener>
     <toolkit:GestureListener Hold="GroupItem_Hold"/>
 </toolkit:GestureService.GestureListener>

<toolkit:ContextMenuService.ContextMenu>
                                <toolkit:ContextMenu>

                                    <toolkit:MenuItem Header="Remove Group" Click="removeGroup"/>
                                </toolkit:ContextMenu>
                            </toolkit:ContextMenuService.ContextMenu>

的.cs:

  private void removeGroup(object sender, RoutedEventArgs e)
        {
        //do something here
        }

 private void GroupItem_Hold(object sender, GestureEventArgs e)
        {
        var holdItem = (sender as StackPanel).DataContext as Usergroup;

        App.selectedGroup = holdItem.id.ToString();

        grp_name = holdItem.groupName;
        }

当用户持有该特定项目时,我使用上面的代码从列表框中获取项目的详细信息。

希望有所帮助:)