【发布时间】:2020-03-18 00:53:38
【问题描述】:
在 NavigationView 我有 3 个项目。如果用户单击第二个按钮,我想清理表单并重定向(例如使用 MainFrame.Navigate(typeof(BlankPage1));)到第一个项目。重定向工作正常,但 NavigationViewItem 的选择停留在第二个 NavigationViewItem 上。 相同的代码:
nvTopLevelNav.SelectedItem = nvTopLevelNav.MenuItems[index];
(nvTopLevelNav.SelectedItem as NavigationViewItem).IsSelected = true;
没有帮助。有什么办法可以改变选择吗?
顺便说一句,如果我使用 MainPage (MainFrame.Navigate(typeof(MainPage));) 进行导航,我将获得正确选择的第二个菜单。对我来说,看起来对象没有正确刷新。你能澄清一下吗?
【问题讨论】:
-
第一行代码应该足以正确设置所选项目。如果
MenuItems[index]是您要设置为选中的项目,它肯定可以工作。您能否发布一些额外的代码(XAML 等)来帮助我们了解正在发生的事情? -
我上传了项目link
-
我已经检查了代码,你实际上在哪里设置
SelectedItem?我找不到任何实例。例如,当在switch-case "Nav_BlankPage2":内部时,我会在Navigate调用之后执行nvTopLevelNav.SelectedItem = nvTopLevelNav.MenuItems[1];。在这种情况下,您似乎正在导航到BlankPage1,我希望导航到BlankPage2。这对你不起作用? -
它不起作用。我的想法是:第一页是主要的,第二个按钮应该像“清理”第一页一样工作,听起来像“新页面”。正如我所提到的,导航工作正常,但菜单保存了单击按钮的选择。有没有办法手动更改 NavigationViewItem 选择?
-
我描述的是你手动设置的方式,所以我不知道哪里出了问题。当我在我的电脑上时,我会回来查看
标签: uwp navigationview