Application.Resources中的UWP MenuFlyout - 如何分配事件?

时间:2016-07-30 15:15:22

标签: c# uwp

我对UWP比较新,但我有很好的WPF背景。 我需要的是一个简单的应用程序上下文菜单。用户"右击"在任何地方,菜单打开,用户点击一个项目和事情发生。

它看起来很简单。首先,我将MenuFlyout元素添加到Application.Resources。然后,在MainPage中,我只使用ShowAt方法显示它。的工作原理。

当我尝试向菜单项添加事件时,我最大的惊喜是,VS告诉我它无效,无法在App.xaml中添加事件。

所以这是我的作业(App.xaml.cs):

MainContextMenu = (MenuFlyout)Resources["MainContextMenu"];
MainContextMenu.Items.First(i => i.Name == "NavToCalibration").Tapped += NavToCalibration_Tapped;

问题是 - 从不调用处理程序。我运行我的应用程序,打开菜单,点击该项目,没有任何反应。不调用指定的方法。我究竟做错了什么?为什么不调用处理程序?

分配IS在应用程序启动时执行。

我也很惊讶我没有找到任何关于做这么简单和基本的事情的示例或教程。

有一个很好的理由我使用应用程序范围的上下文菜单而不是其他控件。该应用程序显示测试图像,它必须是全屏(或最大化窗口),没有干扰元素。

现在我将尝试将菜单移动到页面资源,无论如何,我的页面将具有不同的上下文菜单。但我真的很好奇MenuFlyoutApp.xaml中定义的错误是什么?

哇。我试图将MenuFlyout移到MainPage。我能够在XAML中分配Tapped事件。它也没有被触发!现在我完全迷失了。有什么想法吗?

0 个答案:

没有答案