接收点击导航栏中的项目的页面

Receive the page from which an item in the navigation bar is clicked

我想知道如果我用鼠标点击位于主页的导航栏中的项目,点击是从哪个着陆页进行的。

单击菜单项通过主页中的方法生成事件。 登陆页面由框架加载。着陆页是自己的页面,有View和后台代码。

视图和视图模型由实现的 mvvm light 分隔。

加载着陆页:

if (args.InvokedItemContainer == MenuItemWriteEntry)
               MainContentFrame.NavigateToType(typeof(WriteEntryPage), null, navOptions);

主页点击事件(代码隐藏):

private void ButtonSaveEntry_OnClick(object sender, RoutedEventArgs e) {}

路由事件参数中未描述有关登录页面(我从中单击项目菜单)的信息。我只能找到对单击的菜单项的引用

您可以使用 MainContentFrame 检索当前显示的页面实例:

if (MainContentFrame.Content is WriteEntryPage writeEntryPage)
{
   //WriteEntryPage is currently displayed, now stored in writeEntryPage variable
}