Xaml 正在保留桌面应用程序未启动的事件
在我的通用Windows应用程序中,我正在订阅ListViewItem DataTemplat中的保留事件e:Xaml 正在保留桌面应用程序未启动的事件,xaml,touch,win-universal-app,Xaml,Touch,Win Universal App,在我的通用Windows应用程序中,我正在订阅ListViewItem DataTemplat中的保留事件e: <ListView.ItemTemplate> <DataTemplate> <Grid Holding="ListViewItem_Holding"> <FlyoutBase.AttachedFlyout>
<ListView.ItemTemplate>
<DataTemplate>
<Grid Holding="ListViewItem_Holding">
<FlyoutBase.AttachedFlyout>
<MenuFlyout Placement="Right">
<!-- using the Click event -->
<MenuFlyoutItem Text="delete" Click="DeleteProductClick" />
<MenuFlyoutItem Text="edit" />
</MenuFlyout>
</FlyoutBase.AttachedFlyout>
<TextBlock Text="{Binding Name}" />
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
使用Visual Studio模拟器和触摸模式,所有这些都可以正常工作,但我找不到一种方法来使用鼠标调用上下文菜单。我是否必须使用手势识别器才能使上下文菜单适用于桌面应用程序(与平板电脑版本相反)?您可以在以下网站找到: 按住鼠标和笔/触笔输入 默认情况下,鼠标输入不会生成保持事件,无论鼠标按钮被按住多长时间,或者哪个按钮被按住。但是,当按下并释放鼠标右键或同等按钮时,鼠标设备和某些笔设备可以触发RightTapped 注意:如果您使用自己的手势识别器并在设置中指定HoldWithMouse,则有一种方法可以将鼠标动作视为保持动作
在这种情况下,您可能必须使用自定义或指针事件。您将在以下位置找到: 按住鼠标和笔/触笔输入 默认情况下,鼠标输入不会生成保持事件,无论鼠标按钮被按住多长时间,或者哪个按钮被按住。但是,当按下并释放鼠标右键或同等按钮时,鼠标设备和某些笔设备可以触发RightTapped 注意:如果您使用自己的手势识别器并在设置中指定HoldWithMouse,则有一种方法可以将鼠标动作视为保持动作 在这种情况下,您可能必须使用自定义或指针事件。我将使用该事件,以便当用户在基于触摸的设备中按住某个项目时,以及当用户在基于鼠标的设备中用鼠标右键单击时,上下文菜单显示:
<Page.Resources>
<MenuFlyout x:Key="flyout">
...
</MenuFlyout>
</Page.Resources>
...
<ListView ....>
<ListView.ItemTemplate>
<DataTemplate>
<Grid RightTapped="grid_RightTapped">
...
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
正如您所见,我使用了一个共享弹出按钮,您可以按照自己的方式进行操作。我将使用该事件,这样,当用户在基于触摸的设备上按住某个项目时,以及当用户在基于鼠标的设备上用鼠标右键单击时,上下文菜单将显示:
<Page.Resources>
<MenuFlyout x:Key="flyout">
...
</MenuFlyout>
</Page.Resources>
...
<ListView ....>
<ListView.ItemTemplate>
<DataTemplate>
<Grid RightTapped="grid_RightTapped">
...
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
正如您所见,我使用了共享弹出按钮,您可以按照自己的方式进行