当按钮触发事件 Hold 时,是否可以创建某种信息菜单。我已经看了一下ContextMenu,但是当你停止持有时,它不会自动关闭。我想要的是一个PopUp,或类似的东西,当按下按钮事件 Hold 时显示某种信息,并在不再有" Holded"时关闭。这是可能的,在这种情况下我应该使用什么?
答案 0 :(得分:1)
我猜想解决方法可能就是使用弹出窗口。因此,当触发保持事件时,您可以使用手指的位置显示弹出窗口。当用户释放屏幕时,应触发操作结束事件,然后您可以使用布尔值来检查它是否是保持事件。
如果是暂停事件,则关闭弹出窗口,或者删除它,如果需要将其从内存中删除。
答案 1 :(得分:0)
是的,您可以使用Popup类来显示任何类型的消息或任何您想要的选项。
参考其中一些样本:
对于暂停事件,您可以使用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;
}
当用户持有该特定项目时,我使用上面的代码从列表框中获取项目的详细信息。
希望有所帮助:)