UWP Xaml如何实现右键菜单

 时间:2024-10-13 01:08:00

1、首先,以一个ListView为例,现在希望在其列表项上添加右键菜单,处理列表项对应的DataContext数据内容。这个ListView使用DataTemplate模板作为列表项模板。

UWP Xaml如何实现右键菜单

2、在列表项的模板的内容,是一个最外层的Border控件(Border内部就不用考虑了犬匮渝扮)。由于这个Border不支持Fl烤恤鹇灭yout属性,所以添加FlyoutBase.AttachedFlyout附加属性。在附加Flyout内,添加MenuFlyout制作菜单。

UWP Xaml如何实现右键菜单

3、Flyout制作好以后,给Border控件的RightTapped这个Event添加处理函数(即右键点击)。

UWP Xaml如何实现右键菜单

4、在右键点击的处理函数中,使用FlyoutBase.ShowAttachedFlyout方法显示附加Flyout,注意传入的是sender(右键点击的列表项)。

UWP Xaml如何实现右键菜单

5、接下来,我们制作每个菜单项单击的处理。如图,给“重命名”菜单项的Tapped添加处理函数。

UWP Xaml如何实现右键菜单

6、在处理函数中,首先将sender转换为MenuFlyoutItem,然后直接获取DataContext(DataContext是传递的,就是Flyout所在列表项对应的数据项)。接着就可以处理DataContext了。

UWP Xaml如何实现右键菜单

7、如果是按钮Button控件,本身就有Flyout属性,直接添加Button.Flyout即可。

UWP Xaml如何实现右键菜单
  • UWP Xaml如何编写层叠样式?
  • UWP Xaml如何用ContentDialog自制输入框?
  • UWP Xaml 颜色Color如何数据绑定
  • UWP如何使用图标控件SymbolIcon?
  • 热门搜索
    网上怎么赚钱快 放不下一个人怎么办 房产遗嘱怎么写 显卡怎么超频 丽台显卡怎么样 心率不齐怎么办 黄褐斑怎么办 普通人怎么当演员 箭头怎么打 展望怎么写