给定 xaml 中的顶部导航 View ,例如
<NavigationView ItemInvoked="NavToAbout" Grid.Row="0" x:Name="nvSample" PaneDisplayMode="Top">
<NavigationView.MenuItems>
<NavigationViewItem IsSelected="True" Content="Main" Tag="Main" />
<NavigationViewItem Content="About" Tag="Abouts" />
<NavigationViewItem Content="Settings" Tag="Settingspage" />
</NavigationView.MenuItems>
<Frame x:Name="contentFrame"/>
</NavigationView>
和类似或类似的 NavToAbout 函数
void MainPage::NavToAbout(winrt::Windows::UI::Xaml::Controls::NavigationView const& sender, winrt::Windows::UI::Xaml::Controls::NavigationViewItemInvokedEventArgs const& handler) {
//Here get value of item
//auto pageselected = ?
};
如何找出选择了哪个页面,以便导航到正确的页面?那就是我如何找出点击了哪个链接?。
最佳答案
可以根据标签获取选择的页面,如args.InvokedItemContainer().Tag()
。结果是您为商品设置的标签值。
void MainPage::NavToAbout(winrt::Windows::UI::Xaml::Controls::NavigationView const& sender, winrt::Windows::UI::Xaml::Controls::NavigationViewItemInvokedEventArgs const& handler)
{
hstring navItemTag = unbox_value<hstring>(handler.InvokedItemContainer().Tag());
};
关于c++ - 在 C++ winrt 导航 View 中,如何找到已选择/单击的导航项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58369916/